Skip to content

TracksData

PyPI - License PyPI - Version PyPI - Python Version CI codecov

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.

conda install -c conda-forge rust

Then install tracksdata with the following command:

pip install .

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)

Documentation