Skip to content

aniread 0.4.0

Choose a tag to compare

@roaldarbol roaldarbol released this 05 May 23:57
· 48 commits to main since this release
8a96241

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).