July 17, 2019
Eye Movement Detector - #1512, #1516, #1519
Our new eye movement detector is based on Naive Segmented Linear Regression and classifies fixation, saccade, post-saccadic oscillation, and smooth pursuit movements.
Event identification is based on segmentation that simultaneously de-noises the signal and determines event boundaries. The full gaze position time-series is segmented into an approximately optimal piecewise linear function in O(n) time. Gaze feature parameters for classification into fixations, saccades, smooth pursuits and post-saccadic oscillations are derived from human labeling in a data-driven manner.
More details about this approach can be found here.
The open source implementation can be found here.
See this Pupil Helper script to filter eye movements in real time.
Surface Tracker Revamp - #1268, #1515
We have rewritten the surface tracker and included many improvements, e.g.:
- Compensate camera distortion correctly when mapping gaze onto the surface
- Do not block when recomputing surface location cache in post-hoc surface tracker in Pupil Player
- Improve heatmap generation
- General UI improvements
- Improved timeline visualizations
- Option to freeze the image in Capture for easier surface setup and editing
- Use more than a single video frame to define a surface in post-hoc surface tracker in Pupil Player
See the pull request description for a full list.
Please be aware that the names of the exported csv files has changed slightly. See the documentation for the new names.
Caveat: You might need to readjust your surface definitions after upgrading pre-v1.13 recordings. This is due to the internal surface definition having changed and not being fully compatible with previously saved surface definitions.
Pupil Invisible Companion Compatibility Improvements
We are gearing up for a wider release of our new eye tracking glasses Pupil Invisible, and are adding some features to Pupil desktop to support Pupil Invisible. Pupil Invisible will ship with its own Companion Android app. This app will enable one to stream video over WiFi for monitoring purposes.
- Improved ui responsiveness - pyglui#105, #1527
- Fix Pupil Mobile intrinsics lookup - #1510
- Fix audio playback in cases where the audio is shorter than the world video - #1514
- Pupil data fields
phichanged to be consistently floats - #1526
- Eye movement detector:
pip install git+https://github.com/pupil-labs/nslr pip install git+https://github.com/pupil-labs/nslr-hmm
pip install git+https://github.com/pupil-labs/pyndsi -U
pip install git+https://github.com/pupil-labs/pyglui -U
- Eye movement detector: See the format documentation for information.
world_process.adapt_window_sizenotification. Request world process to fit window size to most recent world video frame - #1524