pupil-labs/pupil: Pupil Capture, Player, and Service release
Authors/Creators
- Moritz Kassner1
- Pablo Prietz2
- Patrick Fürst3
- Will1
- Patrick Faion2
- Roman Roibu2
- Marc Tonsen
- Ching
- Michael Barz
- Windson yang4
- Emre D.
- Rafael Picanço5
- ckbaumann
- Sarah Leu
- Andrew Xia6
- Nathakit Sae-Tan2
- fneitzel7
- Polynomdivision
- Chadwick Boulay8
- majoge
- helei0147
- Toshi Kurauchi9
- Tobias Fischer10
- Patrick Burke11
- Manuel Spitschan12
- Iggy13
- Felix Lange
- Evan
- Christopher Gundler
- Aeefire
- 1. Pupil Labs
- 2. @pupil-labs
- 3. @crate
- 4. unicooo
- 5. Imagine Tecnologia Comportamental
- 6. @limebike
- 7. eye square GmbH
- 8. The Ottawa Hospital Research Institute
- 9. @Insper
- 10. Imperial College London
- 11. OFFIS, Institut für Informatik
- 12. University of Oxford
- 13. Toptal
Description
We are pleased to announce the release of Pupil v1.18!
Download the latest bundle and let us know what you think via the #pupil channel on Discord :smile:
Features and Changes Player: Deprecated Recordings - #1711We have removed support for opening recordings made with:
- Pupil Core < v1.3 or
- Pupil Mobile < r0.21.0
If you need to open a recording made with one of these versions, you will have to open it once in Pupil Player v1.16 or v1.17. This will upgrade the recording format to the new version. You can find more information about this in the v1.16 release notes.
Surface Tracker Export: Distorted Image <-> Surface Coordinates - #1678We added the homographies to the surface tracker export, which can be used to convert pixel positions between surface coordinates and coordinates of the original camera image. You can use these to crop the surface from the distorted scene image, and get something similar to our surface debug view.
The homographies are exported as two additional columns in the surf_positions_<name>.csv export file:
dist_img_to_surf_transsurf_to_dist_img_trans
We added a column pts to the timestamps export in <name>_timestamps.csv. This information can be used to seek to and retrieve single frames from the exported video file without the need for sequentially iterating over the entire video.
For consistency with Pupil Capture, Pupil Service will now start in binocular mode.
Pupil Remote Plugin: Port No Longer Saved - #1715The selected port for the Pupil Remote Plugin will no longer be stored in the Capture/Service settings. The default port is always 50020. If the port is already in use, Capture will choose a random other port, while Service will shut down again. You can choose a different port on startup with the -P command line flag.
- Eye movements overlayed in Player will now be correctly exported - #1675
- Shutting down eye processes while recording will correctly finish the recording - #1677
- Fixed some UX issues with the Head Pose Tracker visualization window - #1669
- Improved performance of apriltag detection for the Head Pose Tracker - #1669
- Fixed Pupil Service UI showing port
None- #1715 - Pupil Service will now be shut down correctly if the selected port is already in use - #1716
- Windows run*.bat files will now correctly forward CLI arguments - #1717
- Fixed Pupil Invisible recordings displaying erroneous gaze positions at (0,0) - #1719
The Eye processes are now using the Plugin_List class that we are already using in Capture, Player and Service. It takes care of managing the plugin lifecycle and makes it easier to add, remove or change plugins on the Eye process.
We improved the handling of the Command Line Interface (CLI) of Pupil apps and added some additional start flags:
App Arguments Only - #1709We changed the general structure of Pupil command line invocation to:
python main.py [-h] {Capture,Player,Service} [app-specific-arguments]
For the full list of arguments, see the README of the Pupil repository.
main.py takes no arguments except -h/--help; resulting in an info message. The <app> argument has been made required and will not default to Capture.
You can start any Pupil App with the --version flag. This will display the current version and exit the program afterwards.
You can now start Pupil Capture and Pupil Service with the --hide-ui flag. This will suppress all UI creation while running the program. Use remote messages to control the behavior of the program. To stop the app gracefully, you can either send a SIGTERM signal or (when running via console) hit CTRL-C to send a SIGINT signal (see point below for additional info).
We added support for gracefully shutting down all apps (Capture, Player, Service) via hitting CTRL-C in the console from where it is running. All running operations and processes will be correctly finalized and terminated.
The info.player.json meta-version has been bumped to 2.1. This was necessary to reverse the effects of a bug that corrupted some recordings (#1719).
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 Senior Full Stack/DevOps engineers that have experience with kubernetes, docker, and server-side Python.
Send an email to jobs@pupil-labs.com with a CV to start a discussion. We look forward to hearing from you.
Files
pupil-labs/pupil-v1.18.zip
Files
(13.3 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:b966988f8d3413535b52a1ae771e9645
|
13.3 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/pupil-labs/pupil/tree/v1.18 (URL)