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