← Back to all sparks
A

aniread

ANALYTICS
Velocity0.0

R package aniread by animovement — release notes from GitHub.

aniread keeps finding that every tracker lies about coordinates in its own way.

animal trackingfile formatspose estimationdata importbehavioural eventsr package
Current state
aniread is the reader package of the animovement suite, importing output from pose-estimation and centroid trackers into aniframe objects. The 0.4.0 release standardised something every reader had been getting differently — source data using an image top-left origin is now reflected into a conventional bottom-left origin, across eleven readers. Since then the work has been Octron and BORIS specifics, and 0.5.0 extended the package past tracking data into behavioural events.
Where it's heading
Each release reads as a catalogue of the ways a source format is imprecise: Octron omitting frames where nothing was detected, BORIS exports whose image index puts a STOP before its START, idtracker.ai renaming its leading column, Windows UNC shares reporting a false negative on read permission. The fixes share a posture of reconstructing what the format left implicit rather than passing the gap through — reinstating missing frames as all-NA rows, recovering a frame interval from time and FPS. Format support now tracks aniframe's class work closely, with 0.5.0 requiring aniframe 0.6.0 for the anievent class it produces.
Prediction
get_supported_sources() was added so downstream packages can discover formats programmatically instead of hard-coding them, which suggests the next additions are more sources behind that registry rather than changes to the reader API.

Recent moves

  1. 1mo ago

    get_supported_sources(); Octron gap and BORIS index fixes

    Adds get_supported_sources() so downstream packages can discover readable formats as data rather than hard-coding them. Two reader fixes ship alongside: read_octron() reinstates frames Octron omits entirely as all-NA rows so the time axis is gap-free, and read_boris(unit_time='frame') recovers from exports whose image index puts a stop before its start.

    View source ↗
  2. 1mo ago

    read_boris() imports behavioural events as anievent objects

    Adds read_boris(), the package's first importer for behavioural annotation rather than tracking, producing the anievent objects aniframe introduced in 0.6.0 twenty-five minutes earlier. It auto-detects both flat-text BORIS export shapes, preserves state-versus-point typing, and carries modifiers through in either the modern or legacy layout.

    View source ↗
  3. 3mo ago

    read_octron() property selection, speed and a silent-recycling fix

    Octron-focused: a properties argument for choosing which region-property columns to read, substantially faster reads on large multi-segment files, and a fix where weighted mode silently recycled value against area when a row's segment counts disagreed — it now falls back to the arithmetic mean and names the affected frames in one warning.

    View source ↗
  4. 3mo ago

    y-origin standardised to bottom-left across eleven readers

    ⚡ SPARK

    Standardises the coordinate origin across eleven readers: sources recording an image top-left origin are reflected so the returned aniframe is bottom-left, fixing plots that came out upside-down without manual reorientation. The change is breaking and requires aniframe 0.5.0 for the set_origin() and set_y_height() API.

    View source ↗