Surface Tracker
You can use this plugin to detect markers in the recording, define surfaces, edit surfaces, and create and export visualizations of gaze data within the defined surfaces.
Setup
Ensure that your recording contains AprilTag Markers, like the ones you would use with the Marker Mapper.
Workflow
Here is an example workflow for using the Surface Tracker
plugin to generate heatmap visualizations and export surface data reports:
- Load the
Surface Tracker
plugin - if you already have surfaces defined, the load may take a few seconds because the plugin will look through the entire video and cache the detected surfaces. - Add surface - if you do not have any defined surfaces, you can click on the
Add surface
button when the markers you want to user are visible or just click the circularA
button in the left hand side of the screen. - Surface name and size - in the
Surface Tracker
menu GUI, define the surface name and real world size.
Export Format
Results exported to the subfolder surfaces
. The different reported metrics are:
surface_visibility.csv
- Overview of how many world camera frames each surface was contained in.surface_gaze_distribution.csv
- Overview of how many gaze samples have been collected on each individual surface and outside of surfaces.surface_events.csv
- List of image-enter and image-exit events for all surfaces.
Further the following metrics are reported for every individual surface. Each surface has a name, which can be manually set as described above. This name is augmented by an automatically generated numerical identifier.
gaze_positions_on_surface_<surface_name>.csv
- A list of gaze datums on the surface.x_norm
andy_norm
are coordinates between 0 and 1, where(0,0)
is the top left corner of the surface and(1,1)
is the bottom right corner.fixations_on_surface_<surface_name>.csv
- A list of fixations on the surface. The values include fixation locations as normalized coordinates and a confidence value between 0.0 and 1.0, indicating gaze on/off surface.surf_positions_<surface_name>
- List of surface positions in 3D. The position is given as the 3D pose of the surface in relation to the current position of the scene camera.img_to_surf_trans
is a matrix transforming coordinates from the camera coordinate system to the surface coordinate system.surf_to_img_trans
is the inverse ofimg_to_surf_trans
.
Additionally, the Surface Tracker
exports the detected markers to the marker_detections.csv
file. The world_index
column represents the scene video frame index, marker_uid
is the label used for identifying a single marker, and corner_<0|1|2|3>_<x|y>
is the corner coordinate in pixel space.