Repository navigation
fix: follow the animal in batch pose; keep foreign recordings out of Session Review - #240
Merged
Merged
Conversation
A folder holding a stray live recording beside tracked videos lent every one of them that recording's timeline, so an 11-minute video could be scrubbed for only the stray's 54 seconds. recording_filmed() rules out a recording whose own video is a different one; Session Review and cohort discovery both use it.
A rat model over a novel-object arena scores each dish as a small rat, and the single-animal path kept the most confident detection, so the track sat on a dish before the rat was placed and jumped to one whenever it outscored the rat. infer_video now keeps every candidate and, once the animal's typical span is measured from the run, prefers one at least 40% of it. run_batch blanks frames left with only an undersized skeleton, keeping them in _raw, and the sidecar records the body_size block.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two fixes found on a batch of rat novel-object sessions (JP01–JP08).
Batch pose followed the objects, not the rat
The rat model also scores each dish in the arena as a small rat (~45 px skeleton vs ~220 px). The single-animal path kept the most confident detection, so the track sat on a dish until the rat was placed and jumped to one whenever it outscored the rat.
infer_videokeeps every ranked candidate per frame and, once the animal's typical span is measured from the run (90th percentile of the widest skeleton per frame), prefers a candidate at least 40% of it (min_body_fraction, default 0.4;Nonerestores the old ranking). A re-ranking, never a filter.run_batchblanks frames left with only an undersized skeleton;_rawkeeps them (written only when something was blanked), and the sidecar records abody_sizeblock.glider.vision.pose.body_size.Real re-run of JP07 with
rat-1.pt: rat frames 15,513 → 17,246, dish frames 4,690 → 21, jumps >100 px 254 → 0.Session Review clamped videos to a stray recording's length
A Downloads folder holding an unrelated live recording (54 s) beside the tracked videos attached it to every video, so 11-minute sessions could only be scrubbed for 54 s.
recording_filmed()rules out a recording whose own video is a different one; used by Session Review and cohort discovery. Recordings with no video, or sessions with none, behave as before.Tests
tests/unit/vision/pose/test_body_size.py, two cohort tests.test_flow_clock::test_the_timing_thread_wakes_within_a_couple_of_msalso fails onmain;test_delay_node_precisionfailed once under GPU load and passes alone.🤖 Generated with Claude Code