Skip to content

boxmot.engine.config.cmc

Sequence-specific camera-motion choices for cached tracking evaluation.

CMC_ANALYSIS_RULE module-attribute

CMC_ANALYSIS_RULE = 'sof-motion-v4'

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.

default class-attribute instance-attribute

default: bool = False

method class-attribute instance-attribute

method: str = 'sof'

sequences class-attribute instance-attribute

sequences: tuple[tuple[str, bool], ...] = ()

__post_init__

__post_init__() -> None

apply

apply(spec: TrackerSpec, sequence_id: str) -> TrackerSpec

Return a sequence's tracker specification with only CMC options changed.

to_dict

to_dict() -> dict[str, Any]

Return the policy's serializable YAML schema.

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

validate_joint_cmc_selection(
    tracker: str, backend: str, *, select_kf: bool
) -> None

Reject unsupported joint calibration before image loading or fitting.

validate_cmc_analysis

validate_cmc_analysis(tracker: str, backend: str) -> None

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.