swarmsort.drawing_utils module

Visualization utilities for SwarmSort tracking results.

This module provides tools for drawing tracking results, creating visualizations, and generating video output from tracking sequences.

class swarmsort.drawing_utils.ColorManager(saturation=0.8, value=1.0)[source]

Bases: object

Manages consistent colors for track IDs.

get_color(track_id)[source]

Get a consistent color for a track ID.

Return type:

Tuple[int, int, int]

reset()[source]

Clear color cache.

class swarmsort.drawing_utils.TrackingVisualizer(config=None)[source]

Bases: object

Main visualization class for tracking results.

create_video_sequence(detection_sequence, track_sequence, output_path='tracking_output.mp4', fps=30)[source]

Create a video from detection and track sequences.

Return type:

None

draw_frame_matplotlib(detections, tracks, frame_num, ax=None)[source]

Draw a single frame using matplotlib.

Return type:

None

draw_frame_opencv(detections, tracks, frame_num, frame=None)[source]

Draw a single frame using OpenCV.

Return type:

ndarray

reset()[source]

Reset visualization state.

show_sequence_matplotlib(detection_sequence, track_sequence, interval=100, save_path=None)[source]

Show animated sequence using matplotlib.

Return type:

None

class swarmsort.drawing_utils.VisualizationConfig(frame_width=800, frame_height=600, background_color=(0, 0, 0), detection_color=(128, 128, 128), track_thickness=2, detection_thickness=1, font_scale=0.5, font_thickness=1, show_ids=True, show_confidences=True, show_velocities=False, show_trails=True, trail_length=20, bbox_alpha=0.3)[source]

Bases: object

Configuration for visualization settings.

background_color: Tuple[int, int, int] = (0, 0, 0)
bbox_alpha: float = 0.3
detection_color: Tuple[int, int, int] = (128, 128, 128)
detection_thickness: int = 1
font_scale: float = 0.5
font_thickness: int = 1
frame_height: int = 600
frame_width: int = 800
show_confidences: bool = True
show_ids: bool = True
show_trails: bool = True
show_velocities: bool = False
track_thickness: int = 2
trail_length: int = 20
swarmsort.drawing_utils.quick_visualize(detections, tracks, frame_num=0, method='matplotlib')[source]

Quick visualization function for debugging.

Return type:

None