Skip to content

fix(idtrackerai): CSV without time column, probability shape check, video-info options - #146

Merged
mbel-tech merged 1 commit into
mainfrom
fatina-del-codice/idtrackerai-samples-readers-42a9af
Oct 11, 2026
Merged

mbel-tech merged 1 commit into
mainfrom
fatina-del-codice/idtrackerai-samples-readers-42a9af

Conversation

@mbel-tech

Copy link
Copy Markdown
Owner

Summary

Acts on the idtracker.ai sample-file handoff (findings F3, F4, F5, F7).

  • F3: a CSV bundle written without a time column no longer raises a bare ValueError. The column count decides (2k columns = no time column, 2k+1 = leading time), for trajectories.csv and id_probabilities.csv.
  • F4: id_probabilities that disagree with the trajectories are refused with IDT_SHAPE_MISMATCH (loader and normaliser).
  • F7: the idtracker.ai reader gains optional fps, width_px, height_px options. Precedence: trajectory file, then session.json, then options, so they only fill gaps.
  • F5: a pickle-only folder without consent now raises IDT_PICKLE_REFUSED (was IDT_FORMAT_AMBIGUOUS). The UI already accepts either.
  • Adds 7 sha256-pinned real-sample fixtures and tests/real_samples/test_idtrackerai_samples.py, plus offline regression tests.

Not included: DeepLabCut .h5 support (F6), deferred.

Test plan

  • tests/test_readers, tests/test_scan, tests/test_cli pass
  • T2D_REAL_SAMPLES=1 pytest tests/real_samples/test_idtrackerai_samples.py: 13 passed
  • Full suite: 4210 passed, 2 failed (test_3d_run.py::test_serial_and_parallel_runs_write_identical_files, test_3d_metrics.py::test_serial_and_parallel_runs_agree_for_the_3d_metrics); the first also fails on the base commit
  • 5 entry-point tests deselected (need an installed package)

Fixture licences: movement-data upstream licence is unconfirmed, MoveR_SampleData is GPL-3.0. Fixtures are downloaded at test time, not redistributed.

🤖 Generated with Claude Code

…ideo-info options

- csv_bundle: column parity decides whether a leading time column exists (F3);
  id_probabilities follow the trajectories' animal count, mismatches raise IDT_SHAPE_MISMATCH
- normaliser: id_probabilities shape is checked against (n_frames, n_animals) (F4)
- reader: optional fps/width_px/height_px options fill gaps behind file and session.json (F7)
- reader: pickle-only folder without consent raises IDT_PICKLE_REFUSED (F5)
- tests: offline regression tests; real-sample idtracker.ai fixtures and tests (7 pinned files)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@mbel-tech
mbel-tech enabled auto-merge (squash) October 11, 2026 10:02
@mbel-tech
mbel-tech merged commit 0b04ecf into main Oct 11, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant