boxmot.engine.config.cmc
Sequence-specific camera-motion choices for cached tracking evaluation.
SequenceCMCPolicy
dataclass
SequenceCMCPolicy(
method: str = "sof",
default: bool = False,
sequences: tuple[tuple[str, bool], ...] = (),
)
Choose CMC by sequence while preserving a tracker's other settings.
Sequence IDs match the materialization exactly. default is used for
sequences without an explicit entry; method applies to enabled ones.
This policy records decisions from analysis and does not fit Kalman noise.
apply
apply(spec: TrackerSpec, sequence_id: str) -> TrackerSpec
Return a sequence's tracker specification with only CMC options changed.
validate
validate(
spec: TrackerSpec, sequence_ids: Iterable[str]
) -> None
Reject unsupported trackers and decisions for sequences absent from the build.
load_cmc_policy
load_cmc_policy(path: Path | str) -> SequenceCMCPolicy
Read a strict YAML policy without constructing trackers or CMC estimators.
validate_joint_cmc_selection
Reject unsupported joint calibration before image loading or fitting.
validate_cmc_analysis
Reject unsupported automatic camera analysis before reading image inputs.
resolve_cmc_policy
resolve_cmc_policy(
args: Any, spec: TrackerSpec
) -> SequenceCMCPolicy | Literal["auto"] | None
Resolve camera behavior, leaving automatic sequence decisions to eval setup.
Calibrated profiles bind the decision rule, masking threshold and SOF settings, so their noise remains reusable on new evaluation sequences. Training sequence IDs and artifact paths are provenance, never runtime camera decisions.