What’s New
v1.0.0 (unreleased)
Breaking changes
CircleDetector
andCircleTracker
: removeddetection_method
,marker_size
,threshold_window_size
,min_area
,max_area
,circularity
,convexity
, andinertia
arguments.VideoDisplay
: removedoverlay_pupil
,overlay_gaze
,overlay_circle_marker
andoverlay_circle_grid
arguments.BaseConfigurable
: removedget_params
andget_constructor_args
methods (now private methods with the same name).Packet
: removedget
method.
New features
New
get_test_recording()
,load_gaze()
,load_pupils()
,load_markers()
,load_motion()
,merge_pupils()
functions.New
PupilReader
andMarkerReader
classes.New
Calibration.batch_run()
,CircleDetector.batch_run()
,GazeMapper.batch_run()
andPupilDetector.batch_run()
methods.CamParamEstimator
: newgrid_scale
argument.VideoReader
: newundistort
argument.PupilDetector
: newresolution
andfocal_length
arguments.Pipeline
: can now be used as a context manager.VideoReader.read_frames()
: Newraw
,return_timestamp
andreturn_index
arguments
v0.5.0 (June 23rd, 2021)
Breaking changes
The test recording in the examples is not part of the package anymore but instead downloaded and cached through the
pooch
library. This means thatTEST_RECORDING
is not working anymore and is replaced byget_test_recording
.
Bug fixes & improvements
Updated the default test recording to contain post-hoc gaze mapped by Pupil Player v3.
v0.4.1 (February 22nd, 2021)
Bug fixes & improvements
Fixed
exposure_mode="auto"
not working inVideoDeviceUVC
.Fixed extrinsics not being saved by
CamParamEstimator
.Added
available_controls
attribute toVideoDeviceUVC
that returns legal values for UVC controls andcontrols
can be set by assigning a mapping from control names to new values.
v0.4.0 (January 28th, 2021)
New features
Package is now available via conda from our own channel.
Devices, streams and processes can now be used as context managers which starts and stops them automatically. This makes the
Session
context manager obsolete, which is being deprecated.New
VideoFileSyncer
process for syncing video streamed from files.
Bug fixes & improvements
Fixed
VideoDeviceUVC.get_frame_and_timestamp
not working in Jupyter notebook.Fixed bug in
load_dataset
for accelerometer and gyroscope streams.
v0.3.0 (December 8th, 2020)
New features
Key presses from
VideoDisplay
windows are broadcast and stored in thekeypresses
deque by the manager.CircleGridDetector
now accepts ascale
parameter to speed up detection at the expense of accuracy for high-resolution streams.CamParamEstimator
now shows a persistent overlay of previously detected circle patterns for the stream it is attached to.Processes and pipelines have access to their parent stream via the
context
attribute, if applicable.Processes can add display hooks to the packet that are picked up by
VideoDisplay
.New
load_pldata
andsave_pldata
top-level methods.
Bug fixes & improvements
Fixed several bugs in
CamParamEstimator
regarding extrinsics estimation.Additionally save
info.player.json
at the start of the recording.Support loading source timestamps from .pldata files for video streams.
Don’t reopen
VideoDisplay
windows closed by user.
v0.2.1 (October 23rd, 2020)
Bug fixes & improvements
Set default exposure mode of
VideoDeviceUVC
to"auto"
.Added
max_width
parameter toVideoDisplay
.Disabled showing plots in Validation class.
Fixed loading of broken recordings (with missing timestamps or corrupt pldata files).
Fixed bug when loading 3D gaze with only binocular data.
Fixed support for configs with
device_uid=None
.
v0.2.0 (October 6th, 2020)
New features
Loaded gaze now contains the eye data that produced the mapping (left, right, both eyes) as well as the 3D eye centers and gaze normals.
The
load_raw_frame
,load_frame
,read_frames
andload_dataset
methods ofVideoReader
andOpticalFlowReader
now accept both timestamps and indexes as parameters.Streams can be started even when the underlying devices aren’t connected with
allow_failure=True
.Added
scale
,detection_method
andmarker_size
parameters toCircleDetector
to allow more fine-grained control over detection.detection_method="vedb"
is a new detection method that is less stable but significantly faster than the default.Added a
Validation
process that extendsCalibration
, adding plots showing the coverage of the world camera FOV by the calibration marker and of the eye camera FOV by the pupils.Added a new example
validate.py
that demonstrates usage of the new circle detection method and the validation.Added experimental support for a
PyAV
-based video encoder (VideoEncoderAV
).Added
nan_format
parameter toStreamManager.format_status
.
Bug fixes
Fixed devices not being able to shut down when in restart loop.
Fixed blank window opening when starting a
VideoDisplay
process withpaused=True
.
v0.1.0 (June 3rd, 2020)
Mostly feature-complete release that supports streaming, recording and processing of Pupil Core streams as well as reading of recordings.