Skip to content

boxmot.engine.dataset_variants.sampling

Seeded frame loss that preserves the source capture timeline.

PROFILE module-attribute

PROFILE = 'bursty-v1'

FrameSelection dataclass

FrameSelection(
    indices: tuple[int, ...],
    outage_start_index: int,
    outage_end_index: int,
)

Selected zero-based source indices and the simulated outage bounds.

indices instance-attribute

indices: tuple[int, ...]

outage_end_index instance-attribute

outage_end_index: int

outage_start_index instance-attribute

outage_start_index: int

select_bursty_frames

select_bursty_frames(
    timestamps: Sequence[float | None], *, seed: int = 0
) -> FrameSelection

Simulate throttling and loss without inventing image capture times.

A nominal 30 FPS sequence alternates mostly full-rate delivery with roughly 10 and 15 FPS phases. One approximately 300 ms outage occurs near 60% of the sequence. Every retained frame keeps its original timestamp.

timing_statistics

timing_statistics(
    timestamps: Sequence[float], selection: FrameSelection
) -> dict[str, Any]

Summarize actual retained intervals, never processing throughput.