Release v1.11

Release v1.11

Mar 5, 2019

Mar 5, 2019

We are pleased to announce the release of Pupil v1.11!

Download the latest bundle and let us know what you think via the #pupil channel on Discord 😄


Offline Calibration Refactor

Author: @ckbaumannPull Requests: #1389, #1400, #1407, #1415, #1434

  • Calibration export and import: Export a calibration from one recording and use it to map gaze in an other recording. See #1003 for a possible use case.

  • Accuracy and precision: Evaluate accuracy and precision for separate gaze mappings.

  • Caching of generated gaze data: Offline calibrated gaze is session-persistent and does not need to be recalculated after restarting Pupil Player.

  • Streamlined usability: Detect reference locations, calibrate, map gaze, and calculate accuracy with the click of a single button.

Split Recording Support

Author: @WindsooonPull Requests: #1417, #1452, #1456

Starting with version v0.37, Pupil Mobile creates recordings with multiple video files. This ensures that we do not reach/exceed the file size limit on SD cards and additionally ensures that we can gracefully handle sensor disconnects of the headset without compromising the recording session.

Pupil Player will behave in the same way as it did previously, with the difference that it will fill any gaps within the recording, e.g. during a a disconnect, with gray frames. World-less recordings as well as corrupted video files are also being handled as gaps.

Developers notes

  • Added debug-level logs for Pupil Remote requests and responses - #1436

Changed Requirements

  • numpy >= 1.13

API changes

  • Raw Data Export: Changed timestamp column names - #1444

    • pupil_positions.csv: world_timestamp -> pupil_timestamp

    • gaze_positions.csv: world_timestamp -> gaze_timestamp

We are hiring Python developers!

Hey - you're reading the developer notes, so this is for you! We're looking to hire developers to contribute to Pupil source code. If you love Python and enjoy writing code that is a joy to read, get in touch. Experience with the scientific Python stack is a plus, but not required. We have a lot of exciting projects in the pipeline.

We are also looking for full stack Python developers that have experience with kubernetes, docker, and async server-side Python.

Send an email to with a CV to start a discussion. We look forward to hearing from you.