swarmsort.swarmtracker_adapter module

SwarmTracker Pipeline Integration Adapter

This module provides seamless integration between the standalone SwarmSort implementation and the SwarmTracker pipeline, ensuring 100% compatibility with the old integration.

Features: - Maintains identical interface to old SwarmSort integration - Preserves all tracking algorithm behavior - Compatible with SwarmTracker’s BaseTrackerModel interface - Returns proper TrackingResult format - Supports all original configuration options

class swarmsort.swarmtracker_adapter.Detection(position=None, bbox=None, embedding=None, confidence=1.0, **kwargs)[source]

Bases: object

SwarmTracker compatible Detection class

points()[source]

Compatibility property - same as position

swarmsort.swarmtracker_adapter.FastMultiHypothesisTracker

alias of RawTrackerSwarmSORT

class swarmsort.swarmtracker_adapter.RawTrackerSwarmSORT(tracker_config=None, runtime_config=None, yaml_config_location=None, **kwargs)[source]

Bases: object

Raw SwarmSORT tracker - tracking only, compatible with SwarmTracker pipeline

__init__(tracker_config=None, runtime_config=None, yaml_config_location=None, **kwargs)[source]

Initialize with SwarmTracker pipeline compatibility

get_statistics()[source]

Get tracker statistics - compatibility method

Return type:

Dict

reset()[source]

Reset tracker state - compatibility method

track(detections, frame, verbose=True, **kwargs)[source]

Track objects using SwarmSORT - SwarmTracker pipeline compatible

Parameters:
  • detections – Detection results (can be Detection objects, lists, etc.)

  • frame (ndarray) – Input frame (for compatibility - not used in tracking)

  • verbose (bool) – Enable verbose output

  • **kwargs – Additional arguments for compatibility

Returns:

Standardized tracking result

Return type:

TrackingResult

class swarmsort.swarmtracker_adapter.TrackingResult(tracked_objects: List[Any], bounding_boxes: ndarray | None = None, result_image: ndarray | None = None)[source]

Bases: NamedTuple

Standardized return type for tracking operations - SwarmTracker compatible.

bounding_boxes: ndarray | None

Alias for field number 1

result_image: ndarray | None

Alias for field number 2

tracked_objects: List[Any]

Alias for field number 0

swarmsort.swarmtracker_adapter.create_swarmsort_tracker(runtime_config=None, yaml_config_location=None)[source]

Create SwarmSORT tracker with full config handling - SwarmTracker compatible

Config priority (highest to lowest): 1. runtime_config - parameters from SwarmTracker pipeline 2. YAML config - default_config.yaml in swarmsort/data/ 3. Python defaults - SwarmSortConfig dataclass defaults

This function maintains the exact same interface as the old integration, ensuring seamless compatibility with the SwarmTracker pipeline.

swarmsort.swarmtracker_adapter.create_tracked_object_fast(track_id, position, bbox=None, confidence=1.0, **kwargs)[source]

Create tracked object compatible with SwarmTracker pipeline

swarmsort.swarmtracker_adapter.create_tracker(*args, **kwargs)[source]

Legacy compatibility function