You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Breaking changes
Readers whose source data uses image (top-left) origin now reflect y so the returned aniframe is in the conventional bottom_left origin. This fixes plots being upside-down without manual reorientation. Affects read_animalta(), read_bonsai(), read_deeplabcut(), read_fasttrack(), read_idtracker(), read_lightningpose(), read_movement(), read_octron(), read_sleap(), read_trackmate(), and read_trex() (#61).
aniframe (>= 0.5.0) is now required, since the reflection uses the new set_origin() / set_y_height() API.
New features
All affected readers gain an optional video_height argument for supplying the source frame height when the format does not record it (DeepLabCut, LightningPose, SLEAP, AnimalTA, Bonsai, FastTrack, TRex, idtracker.ai CSV, movement netCDF). When omitted, the reader falls back to source-extracted values where available, and finally to max(y).
read_idtracker() now reads /height from the trajectories h5 file by default.
read_trackmate() now reads the frame height from Settings/ImageData/@height in the XML by default.
read_octron() continues to read video_height: from the CSV header, but now also accepts a video_height override and stores the value in the aniframe metadata.
read_octron() gains a method argument to handle frames where Octron emitted multiple mask segments for the same track (#67). One of "weighted" (default; area-weighted mean of position and shape props, sum of areas), "largest" (single largest segment per row), or "segments" (one row per segment, with a new segment identity variable).
Bug fixes
read_idtracker() now accepts both the legacy seconds and the newer time leading column in idtracker.ai CSV exports (#60).