Pupil Capture, Player, and Service Release v1.1

November 10, 2017

v1.1 Overview

We are pleased to announce the release of Pupil v1.1 - this release happily coincides with the 100th release of Pupil software!

There are a lot of new features in this release and we are especially excited to introduce Pupil’s new GUI!

image

We highly recommend upgrading Pupil Player, Service and Capture to v1.1.

A note on versioning

TL;DR Please don’t read too deeply into version numbers. We will be deploying new software on a continuous basis and version numbers will continue to increment accordingly.

The core team had a healthy debate on about version numbering. Should we release v1.0 or v0.10.? This could seem like a trivial debate about naming conventions, but we also realize that there is a lot of “baggage” associated with versioning. We acknowledge that many people see v1.0 as a big step for a project. It often signifies a level of maturity of the project and community. Pupil is certainly growing into a platform with a healthy group of contributors and researchers around the world who depend on Pupil software and hardware. Pupil is certainly more mature now compared to where it was 5 years ago. But we want emphasize that Pupil is an active project that will always be in flux. We will always need feedback from the community, there will be bugs and together we will fix them! This version is just one small step forward of many to come. :smile:

Prior to this release we were (ab)using Semantic Versioning. For those not familiar with the Semantic Versioning, the version numbers follow the format major.minor.patch. From a technical perspective, we should have released a major version when we first defined the plugin structure, and another major version whenever we redefined the plugin interface, and yet another major version when we defined the “API” with the IPC Backbone in v0.8.

Where’s v1.0?

With all the changes that we made with the new UI, it looks like we flew right past v1.0 and went straight to v1.1! There are more than 100 commits between the v1.0 and v1.1 tags, so a minor bump was required.

Features

  • New GUI - A lot of work went into redesigning the GUI in Pupil Capture and Pupil Player. There are ton of new features; too many to list! Just dive in and let us know what you think via chat or make an issue if you find a bug!
    • Pupil Capture - Checkout the docs for a high level overview of the new GUI structure here
    • Pupil Player - The most significant GUI changes are in Pupil Player. The new GUI greatly simplifies the interface. No more floating plugin windows cluttering the window! We also introduce an expandable events timeline so that all temporal events can be clearly labeled and correlated with the timeline. For a high level overview check out the docs.
  • Plugin Manager - The central place for loading and unloading other plugins. No more tedious Select to loaddrop down menus! :smile:
  • Pupil diameter history graph - You can now visualize changes in pupil diameter over time in Pupil.
  • Improvements to libuvc, our usb video backend. Considerably more accurate timestamp generation and more robust failure behaviour on usb disconnect and recovery.

Bug Fixes

  • Pupil Mobile file import - Pupil Player can now properly read and display files recorded by Pupil Mobile that were saved on the Android device (see #873)
  • Fixation detector - Substantially decreased number of false negative detections
  • Realsense backend - Improved failure behaviour on usb disconnect and recovery. Added pointcloud visualizer window.
  • HMD calibration - Improved Network API based on feedback from HMD-eyes developers.
  • Manual marker calibration - Improved detection accuracy of markers.

Backwards incompatible changes

We revised the plugin API with v1.0 in order to ensure that all plugins work consistently with the new GUI. Please be aware that some of these changes are incompatible with the old API. This means that old plugins need updating before they can run correctly in v1.1. Please see the these pull request notes on details about the changes. We also updated the plugin guide accordingly.

Disabled Plugins

These plugins will be disabled due to legacy incompatibilities:

  • Batch Exporter
  • Marker Auto Trim Marks

We will re-add them on demand and when we have time to refactor them.

We will work on refactoring these plugins and will release an up-to-date version with the next release. Follow development progress and express your interest in these features in the following issues:

Windows Driver Installation

Drivers are automatically installed and updated! Please let us know if this does not work for you so that we can improve the installer!

Feedback

As always we hope you enjoy the new release and please do let us know of any bugs. We look forward to your feedback!

Linux bundle has been updated to support Ubuntu 17.10.