TracksData
A common data structure and basic tools for multi-object tracking.
Features
- Graph-based representation of tracking problems
- In-memory (RustWorkX) and database-backed (SQL) graph backends
- Nodes and edges can take arbitrary attributes
- Standardize API for node operators (e.g. defining objects and their attributes)
- Standardize API for edge operators (e.g. creating edges between nodes)
- Basic tracking solvers: nearest neighbors and integer linear programming
- Compatible with Cell Tracking Challenge (CTC) format
- Efficient subgraphing based on attributes on any graph backend
- Integration with cell tracking evaluation metrics
Installation
Until rustworkx 0.17.0 is released, you need to have rust installed to compile the latest rustworkx.
Then install tracksdata with the following command:
Why tracksdata?
TracksData provides a common data structure for multi-object tracking problems. It uses graphs to represent detections (nodes) and their connections (edges), making it easier to work with tracking data across different algorithms.
Key benefits: - Consistent data representation for tracking problems - Modular components that can be combined as needed - Support for both small datasets (in-memory) and large datasets (database)