The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Data & research · SKILL.md

capture

capture

Guides SplaTAM iPhone and NeRFCapture live capture, DDS streaming, capture-only dataset creation, online demo, and capture-to-offline reconstruction workflows.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: capture description: "Guides SplaTAM iPhone and NeRFCapture live capture, DDS streaming, capture-only dataset creation, online demo, and capture-to-offline reconstruction workflows." disable-model-invocation: true metadata: disco-role: operating license: BSD 3-Clause

Capture Sub-Skill

Use this sub-skill when a task involves SplaTAM's iPhone/NeRFCapture path: streaming frames from the NeRFCapture iOS app, saving an RGB-D dataset, running the online demo, or converting a captured dataset into an offline SplaTAM run.

Route pure offline SLAM, export, evaluation, and visualization of existing results to ../reconstruction/SKILL.md.

Required preconditions

  • A LiDAR/depth-capable Apple device running the NeRFCapture app.
  • Device and workstation on the same network with DDS traffic allowed.
  • Python dependency cyclonedds for capture; CUDA/rasterizer also required for live online SplaTAM.
  • A CUDA-capable SplaTAM runtime for scripts/iphone_demo.py and offline reconstruction.
  • Explicit user authorization before running bash wrappers that may call sudo sysctl.

Run the root environment check:

python scripts/check_env.py --require-cuda --require-rasterizer

For capture-only dataset validation after frames are saved:

python sub-skills/capture/scripts/validate_nerfcapture_dataset.py \
  --dataset-dir <captured-scene> --require-depth

Workflow routing

TaskPreferRead
Save RGB-D frames from NeRFCapture without running SLAMpython scripts/nerfcapture2dataset.py --config <capture-config.py>references/workflows.md
Capture dataset, then run offline SplaTAMPython capture command, validate dataset, then python scripts/splatam.py <splatam-config.py>references/workflows.md
Live online SplaTAM while receiving framespython scripts/iphone_demo.py --config <online-demo-config.py>references/workflows.md
Use provided bash wrappersOnly with authorization for sudo sysctl buffer changesreferences/workflows.md
Explain or validate captured filesBundled validator and data-format referencereferences/data-format.md

Important safety boundaries

  • Do not run bash_scripts/online_demo.bash, bash_scripts/nerfcapture.bash, or bash_scripts/nerfcapture2dataset.bash without permission. They may mutate kernel socket buffer settings with sudo sysctl -w.
  • Do not silently overwrite captured datasets. Public configs use overwrite flags; source capture scripts can prompt or exit when the directory exists.
  • Do not treat missing depth as usable for SplaTAM; the live code skips frames without depth and warns that the app should show depth support.
  • Do not run network, app, or GUI-dependent steps as automated verification unless hardware and user authorization are available.

Typical operating path

  1. Edit a capture config under configs/iphone/ or a copy of it.
  2. Set workdir, num_frames, depth_scale, and overwrite deliberately.
  3. Start the Python capture script or an authorized wrapper.
  4. In the iOS app, send frames until the requested count is reached.
  5. Validate the resulting dataset with the bundled validator.
  6. Use the reconstruction sub-skill to run offline scripts/splatam.py or visualize/export results.

Troubleshooting

Use references/troubleshooting.md for DDS/network, missing-depth, overwrite, sysctl, and live-demo failures. Use the root troubleshooting file for CUDA/rasterizer or Open3D issues.

Saved skills