mdx.mtmc.config module
- class AppClusteringConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
App config for clustering
- agglomerativeClusteringDistThresh: float = 3.5
- clusteringAlgo: ClusteringAlgoEnum = 'HDBSCAN'
- dynamicUpdateAppearanceDistThresh: float = 0.2
- dynamicUpdateLengthThreshSec: float = 9.0
- dynamicUpdateSpatioTemporalDistThresh: float = 10.0
- enableOnlineDynamicUpdate: bool = True
- enableOnlineSpatioTemporalConstraint: bool = False
- hdbscanMinClusterSize: int = 5
- meanEmbeddingsUpdateRate: float = 0.1
- numReassignmentIterations: int = 4
- onlineSpatioTemporalDistThresh: float | None = None
- overwrittenNumClusters: int | None = None
- reassignmentDistLooseThresh: float = 0.25
- reassignmentDistTightThresh: float = 0.12
- skipAssignedBehaviors: bool = True
- spatioTemporalDirMagnitudeThresh: float = 0.5
- spatioTemporalDistLambda: float = 0.15
- spatioTemporalDistType: SpatioTemporalDistTypeEnum = 'Hausdorff'
- suppressOverlappingBehaviors: bool = False
- class AppConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
App config
- class AppIOConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
App config for input and output
- enableDebug: bool = False
- groundTruthFrameIdOffset: int = 1
- inMtmcPlusBatchMode: bool = False
- plotEvaluationGraphs: bool = False
- selectedSensorIds: List[str] = []
- use3dEvaluation: bool = False
- useFullBodyGroundTruth: bool = False
- class AppLocalizationConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
App config for localization
- overwrittenPeopleHeightMeter: float | None = None
- peopleHeightEstimationRatio: float = 0.7
- peopleHeightMaxLengthSec: int = 600
- peopleHeightNumBatchFrames: int = 10000
- peopleHeightNumSamplesMax: int = 1000
- peopleHeightVisibilityThresh: float = 0.8
- rectifyBboxByCalibration: bool = False
- class AppPreprocessingConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
App config for pre-processing and filtering behaviors
- behaviorBboxAreaThresh: float = 0.0007
- behaviorBboxAspectRatioThresh: float = 0.75
- behaviorConfidenceThresh: float = 0.45
- behaviorLengthThreshSec: float = 0.0
- behaviorNumLocationsMax: int = 9000
- behaviorRetentionInStateSec: float = 600.0
- behaviorSplitThreshSec: int = 6
- embeddingBboxAreaThresh: float = 0.0008
- embeddingBboxAspectRatioThresh: float = 0.6
- embeddingBboxBottomGapThresh: float = 0.02
- embeddingConfidenceThresh: float = 0.5
- embeddingVisibilityThresh: float = 0.5
- filterByRegionsOfInterest: bool = False
- locationBboxAreaThresh: float = 0.0008
- locationBboxAspectRatioThresh: float = 0.6
- locationBboxBottomGapThresh: float = 0.02
- locationConfidenceThresh: float = 0.5
- mtmcPlusInitBufferLenSec: float = 10.0
- mtmcPlusReinitDiffRatioClusters: float | None = None
- mtmcPlusReinitRatioAssignedBehaviors: float = 0.75
- mtmcPlusRetentionInStateSec: float = 10.0
- shortBehaviorFinishThreshSec: float | None = None
- timestampThreshMin: float | None = None
- class AppStreamingConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
App config for streaming (Kafka)
- kafkaBootstrapServers: str = 'localhost:9092'
- kafkaConsumerMaxRecordsPerPoll: int = 100000
- kafkaMicroBatchIntervalSec: float = 60.0
- kafkaNotificationConsumerPollTimeoutMs: int = 100
- kafkaProducerLingerMs: int = 0
- kafkaRawConsumerPollTimeoutMs: int = 10000
- mtmcPlusBehaviorBatchesConsumed: int = 4
- mtmcPlusFrameBatchSizeMs: int = 180
- mtmcPlusFrameBufferResetSec: float = 4.0
- mtmcPlusLocationWindowSec: float = 1.0
- mtmcPlusNumProcessesMax: int = 8
- mtmcPlusSmoothingWindowSec: float = 1.0
- mtmcPlusTimestampDelayMs: int = 100
- sendEmptyMtmcPlusMessages: bool = True
- class ClusteringAlgoEnum(value)
Bases:
str
,Enum
An enumeration.
- AgglomerativeClustering = 'AgglomerativeClustering'
- HDBSCAN = 'HDBSCAN'
- class SensorDisplayModeEnum(value)
Bases:
str
,Enum
An enumeration.
- cumulative = 'cumulative'
- rotational = 'rotational'
- class SensorSetupEnum(value)
Bases:
int
,Enum
An enumeration.
- numSensors100 = 100
- numSensors12 = 12
- numSensors16 = 16
- numSensors30 = 30
- numSensors40 = 40
- numSensors8 = 8
- numSensors96 = 96
- class SensorViewsLayoutEnum(value)
Bases:
str
,Enum
An enumeration.
- radial = 'radial'
- split = 'split'
- class SpatioTemporalDistTypeEnum(value)
Bases:
str
,Enum
An enumeration.
- Hausdorff = 'Hausdorff'
- pairwise = 'pairwise'
- class VizMtmcConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
MTMC visualization config
- class VizMtmcIOConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
MTMC visualization config for input and output
- selectedBehaviorIds: List[str] = []
- selectedGlobalIds: List[str] = []
- selectedSensorIds: List[str] = []
- class VizMtmcPlottingConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
MTMC visualization config for plotting
- blankOutEmptyFrames: bool = False
- gridLayout: List[int] = [2, 2]
- outputFrameHeight: int = -1
- smoothingTailLengthThresh: int = 5
- smoothingTailWindow: int = 30
- tailLengthMax: int = 200
- vizFilteredFrames: bool = False
- class VizMtmcSetupConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
MTMC visualization config for setup
- enableMultiprocessing: bool = False
- ffmpegRequired: bool = False
- vizMode: str = 'mtmc_objects'
- vizMtmcObjectsMode: str = 'grid'
- class VizRtlsConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
RTLS visualization config
- class VizRtlsInputConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
RTLS visualization config for input
- class VizRtlsOutputConfig(*args: Any, **kwargs: Any)
Bases:
BaseModel
RTLS visualization config for output
- bufferLengthThreshSec: float = 3.0
- displaySensorViews: bool = False
- outputMapHeight: int = 1080
- outputVideoDurationSec: float = 60.0
- sensorFovDisplayMode: SensorDisplayModeEnum = 'rotational'
- sensorSetup: SensorSetupEnum = 30
- sensorViewDisplayMode: SensorDisplayModeEnum = 'rotational'
- sensorViewDurationSec: float = 1.0
- sensorViewGapSec: float = 0.1
- sensorViewStartTimeSec: float = 2.0
- sensorViewsLayout: SensorViewsLayoutEnum = 'radial'
- skippedBeginningTimeSec: float = 0.0
- trajectoryLengthThreshSec: float = 5.0