Monograph · 05 · Sessions & layout
05
Core pipeline · data
Sessions & layout
Chapter contract
Owns session identity, base output path, and capture path allocation. Must not own TIFF encoding details beyond path handoff. Done when a reader can reconstruct the on-disk tree a Nerfstudio importer expects.
All captures land under a session root. The integration contract with offline tools is the filesystem, not an RPC.
neural_dataset/
└── session_001/
├── pos_001/
│ ├── cam_01.tiff
│ ├── cam_02.tiff
│ └── …
├── pos_002/
│ └── …
└── …StartNewSession(object_name)→ generate session_id, create base_path- For each position: allocate path under pos_XXX
RecordCaptureincrements counters / historyEndCurrentSessioncloses active session
Decision
pos_XXX / cam_YY naming
Lexicographic order matches capture order when zero-padded. Camera order can be remapped in UI (display order) but files keep cam indices for training scripts.
Dataset product Sessions feed the studio object set used offline — layout contract is what makes that possible.
src/utils/SessionManager.*StartNewSession · paths · historysrc/utils/SettingsManager.*settings.ini persistence