Skip to main content

Module scenario

Module scenario 

Source
Expand description

The sim.toml scenario schema: the single source of truth for a simulated run (arena, cameras, insects, blob rendering, frame rate).

Structs§

Arena
Axis-aligned bounding box of the tracking volume, in meters.
BlobParams
Parameters for rendering an insect as a Gaussian blob (used by the ci2-sim backend). Defaults are values the real detector reliably localizes.
CalibrationPerturbation
Calibration perturbation: the generation calibration (used to project ground truth into 2D — i.e. “what was imaged”) stays perfect, while the tracking calibration (what Braid reconstructs with) is perturbed by these magnitudes. A nonzero perturbation makes triangulation slightly inconsistent with the detections, so reprojection error is realistic rather than zero — exercising robustness and reprojection-error-driven behavior.
CameraCalibOffsets
Deterministic per-camera offsets applied to the tracking calibration by a CalibrationPerturbation. Each component is signed, uniform in [-magnitude, +magnitude], and reproducible from (seed, camera index).
CameraRig
How the synthetic cameras are arranged: an evenly-spaced horizontal ring around the arena center, all looking inward. Intrinsics are an ideal pinhole (no distortion) for the perfect-world baseline.
InsectSpec
One simulated insect.
Lissajous
A smooth, bounded, deterministic 3D motion: a per-axis sinusoid (Lissajous figure) confined to a fraction of the arena half-extent.
ObservationModel
Observation-model imperfections applied to the 2D detections. All default to zero, so the perfect-world baseline is unchanged.
OcclusionModel
Temporally-correlated occlusion: an insect is hidden from a camera for contiguous spans of frames — modeling it passing behind another insect or an arena feature.
Scenario
A complete simulated scenario, deserialized from sim.toml.
TimingModel
Per-camera frame-arrival timing perturbation.