tobii_pytracker.analyze.HeatmapAnalyzer
- class tobii_pytracker.analyze.HeatmapAnalyzer(output_folder: Path)
Generates gaze heatmaps and overlays them over screenshots.
This analyzer is independent of DataLoader — it operates directly on pandas DataFrames and image paths.
Parameters
- output_folderPath
Directory where results or plots can be saved.
Notes
- The DataFrame must contain:
‘avg_gaze_x’ : x gaze coordinate (centered)
‘avg_gaze_y’ : y gaze coordinate (centered)
‘set_name’ : subject or participant ID
‘slide_index’: slide identifier (int)
‘input_data’ : image identifier (str)
Methods
__init__(output_folder)analyze(background_data[, per])Perform gaze heatmap analysis by aggregating gaze data per group.
plot_analysis(background_data, screenshot_path)Plot gaze heatmap overlayed over the given screenshot.
- analyze(background_data: DataFrame, per: str = 'global') DataFrame
Perform gaze heatmap analysis by aggregating gaze data per group.
Parameters
- background_datapd.DataFrame
Combined gaze data from one or more subjects.
- perstr, optional
Aggregation mode: - ‘global’ → compute statistics across all data (no grouping) - ‘set’ → compute per subject - ‘slide’ → compute per subject and slide
Returns
- pd.DataFrame
DataFrame with mean gaze positions and counts per group.
- plot_analysis(background_data: DataFrame, screenshot_path: Path, title: str | None = None, flip_y: bool = True, blur_sigma: float = 3.0, bins: int = 100, cmap: str = 'hot', alpha: float = 0.6, show: bool = True, save_path: Path | None = None)
Plot gaze heatmap overlayed over the given screenshot.
Parameters
- background_datapd.DataFrame
The gaze data to visualize (usually a subset).
- screenshot_pathPath
Path to the screenshot to overlay.
- titlestr, optional
Custom title for the plot.
- flip_ybool, optional
Whether to invert Y axis to align with screen coordinates.
- blur_sigmafloat, optional
Gaussian smoothing factor for the heatmap.
- binsint, optional
Number of bins for the 2D histogram.
- cmapstr, optional
Colormap for the heatmap overlay.
- alphafloat, optional
Transparency level for the heatmap overlay.
- showbool, optional
Whether to display the figure interactively.
- save_pathPath, optional
If provided, saves the figure to this location.