Neural Capture · Demo: open Demo tour

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.

on-disk contractlayout
neural_dataset/
└── session_001/
    ├── pos_001/
    │   ├── cam_01.tiff
    │   ├── cam_02.tiff
    │   └── …
    ├── pos_002/
    │   └── …
    └── …
Session lifecycle
  1. StartNewSession(object_name) → generate session_id, create base_path
  2. For each position: allocate path under pos_XXX
  3. RecordCapture increments counters / history
  4. EndCurrentSession closes 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.

Example dataset objects produced from sessions
Fig. SES-1

Dataset product Sessions feed the studio object set used offline — layout contract is what makes that possible.

src/utils/SessionManager.*StartNewSession · paths · history
src/utils/SettingsManager.*settings.ini persistence