Skip to main content

NVS2COLMAP

Utilities for converting novel view synthesis datasets to COLMAP format.

These scenes are prepared for InstantSplat. InstantSplat initializes one frame at a time and does not undistort a whole sequence, so this repository undistorts every frame. The default commands write known-pose sparse/0 text models and do not call COLMAP. --use-colmap runs feature extraction, matching, triangulation, mapping, image_undistorter, and mask_undistorter on every frame. Undistorted images go to images/, and undistorted masks go to image_masks/.

Supported Formats

  • Neural 3D Video Dataset: scenes with poses_bounds.npy and one mp4 file per camera. See nvs2colmap/n3dv/README.md.
  • Dynamic 3D Gaussians: scenes with train_meta.json, test_meta.json, images in ims/, and masks in seg/. See nvs2colmap/dynamic3dgs/README.md.

Supported Datasets

Quick Start

Install the Python runtime dependencies:

pip install numpy plyfile torch

For Neural 3D Video scenes, the command also needs ffmpeg and ffprobe on PATH, or explicit paths via --ffmpeg and --ffprobe. To run the COLMAP reconstruction that InstantSplat continues from, also provide a COLMAP executable via --colmap-executable.

Extract a Neural 3D Video scene and write per-frame COLMAP text models for InstantSplat:

python -m nvs2colmap.n3dv \
  --path data/coffee_martini \
  --ffmpeg ffmpeg \
  --ffprobe ffprobe \
  --n-frames 300

Start from source frame 10 and keep output frame numbering aligned with it:

python -m nvs2colmap.n3dv \
  --path data/coffee_martini \
  --ffmpeg ffmpeg \
  --ffprobe ffprobe \
  --start-number 10 \
  --n-frames 300

Run COLMAP reconstruction and undistortion for each frame, for InstantSplat:

python -m nvs2colmap.n3dv \
  --path data/Robo360/xarm6_gold_rope_in_basket_2 \
  --ffmpeg ffmpeg \
  --ffprobe ffprobe \
  --video-extension MP4 \
  --n-frames 1 \
  --use-colmap \
  --colmap-executable colmap \
  --colmap-use-gpu 1

Link a Dynamic 3D Gaussians scene, including its masks, and write per-frame COLMAP text models for InstantSplat:

python -m nvs2colmap.dynamic3dgs \
  --path data/basketball \
  --n-frames 150

For Neural 3D Video scenes, decoded frames are written to frame*/images by default, and the command also writes frame*/sparse/0 text models. With --use-colmap, decoded frames are written to frame*/input, and each frame gets distorted/sparse/0 plus undistorted images/, sparse/, and stereo/ for InstantSplat. When --start-number N is provided, decoding starts from source video frame N, and the generated folders/images are also numbered from N.

For Dynamic 3D Gaussians scenes, images from both train_meta.json and test_meta.json are hardlinked into frame*/images, and included masks are hardlinked into frame*/image_masks (cam01.jpg pairs with cam01.jpg.png). --no-train-camera and --no-test-camera drop one split. The same --use-colmap switch writes images to frame*/input and masks to frame*/input_mask, then undistorts them to images/ and image_masks/ for InstantSplat. That switch does not write init_pt_cld.npz into sparse/0/points3D.ply; the reconstructed points stay in distorted/sparse/0 and the undistorted sparse/. --start-number uses the same 1-based output numbering; source file 000000.jpg is frame 1.

Metadata

Release files for nvs2colmap 0.5.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nvs2colmap 0.5.6
File Size Uploaded
nvs2colmap-0.5.6.tar.gz 19.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nvs2colmap 0.5.6
File Interpreter ABI Platform
nvs2colmap-0.5.6-py3-none-any.whl Python 3 none any Details

Total release size: 44.8 kB

Release files / nvs2colmap-0.5.6.tar.gz

Download URL nvs2colmap-0.5.6.tar.gz
Size 19.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4f7057cc0368d1248feb60ca6ce82acdffe39bcc7fb27f997241c3e8068155a3
BLAKE2b-256 checksum
How to use checksums
d58d7cafb3e426efd361d6b93e701eae3dcecdfd802e8dc800fdb3af22b667b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / nvs2colmap-0.5.6-py3-none-any.whl

Download URL nvs2colmap-0.5.6-py3-none-any.whl
Size 25.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d790f031945a9a896ed7349d12642dae9ac91a330165d98658d325c40473e04b
BLAKE2b-256 checksum
How to use checksums
26afd52623bfb36d799032f40a06f9d55e71cfad9b62173675a546b32a4e8a18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.12

2 release files

0.5.11

2 release files

0.5.10

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

This release

0.5.6 This release

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page