boxmot.engine.dataset_variants.sampling
Seeded frame loss that preserves the source capture timeline.
FrameSelection
dataclass
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.