Tracking v2: explanation system, CLI, and repo cleanup#38
Open
emdavis02 wants to merge 5 commits into
Open
Conversation
- InstanceExplanationStore with per-instance decision records - Explanation generators for motion, directional, RFID, tail, and stitch decisions - SLPT file format (.slpt) preserving tracking metadata across save/load - TailFeatureTracker with PCA + k-means identity matching - VisualPatchTracker for visual re-identification - CoordinateRFIDTracker with coordinate-based RFID matching - GeneralOnlineTracker with configurable feature extractors and scorers - TrackletStitcher for merging fragmented tracklets - Expanded MotionTracker, DirectionalMotionTracker, FacingConsistencyTracker - Metrics output and types for layer attribution analysis Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- sleap-mot run config.yaml command with YAML-based pipeline config
- Variable interpolation (${input.video}) and automatic param routing
- Tracker registry mapping short names to classes
- CLI overrides for labels, video, output paths
- Add pyyaml and click dependencies, add project.scripts entry point
- README: CLI usage docs, config format, available trackers table
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Move tracker.py, track_instance.py, feature_tracker.py, candidates/ to _legacy/ - Update internal imports within legacy modules - Update old tests to import from _legacy - Clean sleap_mot/__init__.py to expose only current API Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- test_tracking.py: TrackContext, InstanceExplanationStore, MotionTracker, TrackletStitcher, GeneralOnlineTracker (14 tests) - test_io.py: SLPTFile save/load roundtrip, statistics, pipeline metadata (5 tests) - test_pipeline.py: config loading, validation, interpolation, param splitting, registry (15 tests) - Add __init__.py for feature_tracking/ and processing/ packages Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove unused framework boilerplate (Django, Flask, Scrapy, Celery, etc.) - Add .claude/ to ignored paths - Remove hardcoded file paths, use patterns instead Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
InstanceExplanationStorewith per-instance decision records for motion, directional, RFID, tail, and stitch decisions.slptarchive preserving tracking metadata (contexts, explanations, pipeline info) across save/load cyclessleap-mot run config.yamlwith YAML-based multi-layer pipeline config, variable interpolation, automatic param routingtracker.py,track_instance.py,candidates/) moved tosleap_mot/_legacy/.gitignore, deleted junk files, added missing__init__.pyfilesTest plan
pytest tests/ -v)sleap-mot runend-to-end on a real dataset.slptoutput contains explanations from all layers--save-slpproduces both files--labels,--video,--output) work🤖 Generated with Claude Code