Calculate distances between instances

Calculate distances between instances#

Once you have tracking results for a video (typically *_tracking.csv and *_tracked.csv next to your video), you can compute inter-instance distances per frame.

Prerequisites#

  • A processed video folder containing Annolid outputs:

    • <video_stem>_tracking.csv

    • <video_stem>_tracked.csv

If you don’t have CSV outputs yet, generate them in the GUI via File → Save CSV.

Compute distances (Python)#

Annolid provides a helper class:

from annolid.postprocessing.tracking_results_analyzer import TrackingResultsAnalyzer

analyzer = TrackingResultsAnalyzer(
    "/path/to/video.mp4",
    zone_file=None,  # optional: a zone JSON for place-preference analyses
    fps=30,          # optional: auto-detected when omitted
)
analyzer.merge_and_calculate_distance()
analyzer.distances_df.to_csv("inter_instance_distances.csv", index=False)

The resulting CSV includes frame_number, instance_name_1, instance_name_2, and distance (pixel units).

Note

If you need distances in real-world units (e.g., mm), calibrate pixels-to-units and multiply the exported distances accordingly.