Scene manifest¶
Warning
Pre-implementation. This page describes proposed contracts. Class signatures, parameter types, schema fields, and behavior are subject to change before code lands. Once implementation exists, content here will be regenerated from docstrings or sourced from running tests.
A scene manifest is the per-scene provenance record. It is the on-disk evidence that a scene came from a specific frozen rfgen commit, config, and seed, and it carries the realized emitter, channel, and SNR (signal-to-noise ratio) values that LabelExtractor turns into task labels. One scene yields one manifest; a DatasetRecipe yields one manifest per seed.
The serialized form is the SceneManifest Pydantic model. It mirrors the example manifest already shown in Datasets and is the unit content-hashed for bit-for-bit reproducibility. See Reproducibility for how the hash is computed.
Schema fields¶
Field |
Type |
Purpose |
|---|---|---|
|
|
Stable per-scene identifier, for example |
|
|
The generator that produced the scene. Always |
|
|
The frozen rfgen git SHA (or capture-testbed record id) the scene was generated from. |
|
|
Path to the resolved rfgen |
|
|
The integer seed that parameterized this scene. The seed, plus commit and config, fully determines the I/Q (in-phase and quadrature). |
|
|
Content hash of the generated I/Q and metadata, for example |
|
|
Receiver array identifiers, for example |
|
|
The realized emitters in the scene, each carrying its family, waveform, |
|
|
The channel environment identifier, for example |
|
|
The realized signal-to-noise ratio in decibels after the rfgen channel chain. An OOD axis; see Environment reference for the per-task wiring. |
Example¶
This matches the manifest shown in the Datasets registry. Each entry in emitters is an EmitterRecord that promotes the rfgen per-emitter metadata subset EMMA consumes for labeling. The aoa_deg and los_flag fields are the promoted label sources for E-LOC-AOA and E-LOC-LOS; the rfgen metadata paths a recipe’s label_extraction map targets, such as emitters[].aoa_deg and emitters[].los_flag, are listed in Dataset recipe.
# example scene manifest (proposal)
scene_id: emma-scene-00017a
generator: rfgen
commit: a91f3c2
config: scenes/v0.1/urban-mimo.yaml
seed: 17
content_hash: sha256:b7e3...f019
arrays: [rx-8elem-ura]
emitters:
- {emitter_idx: 0, family: drone-rf, class_name: drone-model-a, waveform: ofdm, aoa_deg: 42, los_flag: false}
- {emitter_idx: 1, family: comms, class_name: qpsk-handset, waveform: qpsk, aoa_deg: 118, los_flag: true}
channel: urban-multipath
snr_db: 12.0
References¶
NVIDIA Sionna: Hoydis et al., “Sionna: An Open-Source Library for Next-Generation Physical Layer Research,” 2023, arXiv:2203.11854. The ray tracer whose per-emitter arrival-angle and path-class metadata populate the manifest.
See Also¶
Dataset recipe: the recipe that produces a set of manifests.
Data release manifest: the envelope that bundles manifests into a release.
Datasets and rfgen: how scenes are sourced and pinned.
Reproducibility: how the
content_hashis computed.