Demonstrations scripts
Collection of command-line scripts for demonstration purpose.
Note
Consider that all inline commands below have to be executed at the root of ArGaze package folder.
Note
Use -h option to get command arguments documentation.
Note
Each demonstration outputs metrics into _export/records folder.
Random context
Load random_context.json file to generate random gaze positions:
python -m argaze load ./src/argaze/utils/demo/random_context.json
CSV file context
Load csv_file_context_xy_joined.json file to analyze gaze positions from a CSV file where gaze position coordinates are joined as a list in one single column:
python -m argaze load ./src/argaze/utils/demo/csv_file_context_xy_joined.json
Load csv_file_context_xy_splitted.json file to analyze gaze positions from a CSV file where gaze position coordinates are splitted in two seperated column:
python -m argaze load ./src/argaze/utils/demo/csv_file_context_xy_splitted.json
Load csv_file_context_left_right_eyes.json file to analyze gaze positions from a CSV file where gaze position coordinates and validity are given for each eye in six separated columns.:
python -m argaze load ./src/argaze/utils/demo/csv_file_context_left_right_eyes.json
Note
The left/right eyes context allows to parse Tobii Spectrum data for example.
OpenCV
Cursor context
Load opencv_cursor_context.json file to capture cursor pointer positions over OpenCV window:
python -m argaze load ./src/argaze/utils/demo/opencv_cursor_context.json
Movie context
Load opencv_movie_context.json file to playback a movie and also capture cursor pointer positions over OpenCV window:
python -m argaze load ./src/argaze/utils/demo/opencv_movie_context.json
Camera context
Edit aruco_markers_pipeline.json file as to adapt the size to the camera resolution and to set a consistent sides_mask value.
Edit opencv_camera_context.json file as to select camera device identifier (default is 0).
Then, load opencv_camera_context.json file to capture camera pictures and also capture cursor pointer positions over OpenCV window:
python -m argaze load ./src/argaze/utils/demo/opencv_camera_context.json
Tobii Pro Glasses 2
Live stream context
Note
This demonstration requires to print A3_demo.pdf file located in ./src/argaze/utils/demo/ folder on A3 paper sheet.
Edit aruco_markers_pipeline.json file as to adapt the size to the camera resolution ([1920, 1080]) and to set sides_mask value to 420.
Edit tobii_g2_live_stream_context.json file as to select exisiting IP address, project or participant names and setup Tobii configuration parameters:
{
"argaze.utils.contexts.TobiiProGlasses2.LiveStream" : {
"name": "Tobii Pro Glasses 2 live stream",
"address": "10.34.0.17",
"project": "MyProject",
"participant": "NewParticipant",
"configuration": {
"sys_ec_preset": "Indoor",
"sys_sc_width": 1920,
"sys_sc_height": 1080,
"sys_sc_fps": 25,
"sys_sc_preset": "Auto",
"sys_et_freq": 50,
"sys_mems_freq": 100
},
"pipeline": "aruco_markers_pipeline.json"
}
}
Then, load tobii_g2_live_stream_context.json file to find ArUco marker into camera image and, project gaze positions into AOI:
python -m argaze load ./src/argaze/utils/demo/tobii_g2_live_stream_context.json
Segment playback context
Edit aruco_markers_pipeline.json file as to adapt the size to the camera resolution ([1920, 1080]) and to set sides_mask value to 420.
Edit tobii_g2_segment_playback_context.json file to select an existing Tobii segment folder:
{
"argaze.utils.contexts.TobiiProGlasses2.SegmentPlayback" : {
"name": "Tobii Pro Glasses 2 segment playback",
"segment": "record/segments/1",
"pipeline": "aruco_markers_pipeline.json"
}
}
Then, load tobii_g2_segment_playback_context.json file to find ArUco marker into camera image and, project gaze positions into AOI:
python -m argaze load ./src/argaze/utils/demo/tobii_g2_segment_playback_context.json
Tobii Pro Glasses 3
Live stream context
Note
This demonstration requires to print A3_demo.pdf file located in ./src/argaze/utils/demo/ folder on A3 paper sheet.
Edit aruco_markers_pipeline.json file as to adapt the size to the camera resolution ([1920, 1080]) and to set sides_mask value to 420.
Load tobii_g3_live_stream_context.json file to find ArUco marker into camera image and, project gaze positions into AOI:
python -m argaze load ./src/argaze/utils/demo/tobii_g3_live_stream_context.json
Pupil Invisible
Live stream context
Note
This demonstration requires to print A3_demo.pdf file located in ./src/argaze/utils/demo/ folder on A3 paper sheet.
Edit aruco_markers_pipeline.json file as to adapt the size to the camera resolution ([1088, 1080]) and to set sides_mask value to 4.
Load pupillabs_invisible_live_stream_context.json file to find ArUco marker into camera image and, project gaze positions into AOI:
python -m argaze load ./src/argaze/utils/demo/pupillabs_invisible_live_stream_context.json
Pupil Neon
Live stream context
Note
This demonstration requires to print A3_demo.pdf file located in ./src/argaze/utils/demo/ folder on A3 paper sheet.
Edit aruco_markers_pipeline.json file as to adapt the size to the camera resolution ([1600, 1200]) and to set sides_mask value to 200.
Load pupillabs_neon_live_stream_context.json file to find ArUco marker into camera image and, project gaze positions into AOI:
python -m argaze load ./src/argaze/utils/demo/pupillabs_neon_live_stream_context.json