COLMAP Rerun Visualizer
Visualize COLMAP sparse / dense reconstruction output using Rerun's 3D visualization capabilities.
https://github.com/user-attachments/assets/590b9902-6213-4545-985a-af478ab6d576
Features
- Interactive 3D visualization of COLMAP reconstructions
- Support for both filtered and unfiltered point clouds
- Dataset-specific visualization presets
- Resolution scaling for performance optimization
- Python API and CLI interface
Installation
From PyPI
pip install colmap-rerun
From Source
git clone https://github.com/vincentqyw/colmap_rerun.git
cd colmap_rerun
pip install -e .
For development:
pip install -e ".[dev]"
Quick Start
Example Dataset
We provide sample reconstruction data to help you get started:
- Download the sample data from Google Drive
- Unzip the downloaded file to get the following directory structure:
sample_data/dense/
├── images/ # Input images (JPG/PNG format)
├── sparse/ # COLMAP sparse reconstruction
│ ├── cameras.bin # Camera intrinsic parameters
│ ├── images.bin # Camera extrinsic parameters (poses)
│ └── points3D.bin # Reconstructed 3D point cloud
└── stereo/
└── depth_maps/ # Depth maps (optional)
- Visualize the reconstruction:
Using CLI
The CLI provides several options for visualizing COLMAP reconstructions:
Basic Usage
Visualize dense reconstruction (automatically finds sparse model and images):
viz-colmap --dense_model sample_data/dense
Advanced Options
Visualize sparse reconstruction with custom paths:
viz-colmap --sparse_model sample_data/sparse --images_path sample_data/images
Resize images for better performance:
viz-colmap --dense_model sample_data/dense --resize 640 480
Show unfiltered point cloud (includes noisy data):
viz-colmap --dense_model sample_data/dense --unfiltered
CLI Arguments
| Argument | Description | Required |
|---|---|---|
--dense_model |
Path to dense reconstruction folder (contains sparse/ and images/) | No |
--sparse_model |
Path to sparse reconstruction folder (contains cameras.bin, images.bin, points3D.bin) | Required if no dense_model |
--images_path |
Path to folder containing input images | Required if no dense_model |
--resize W H |
Resize images to width W and height H for better performance | No |
--unfiltered |
Show unfiltered point cloud (includes noisy data) | No |
Or using Python API:
from pathlib import Path
from colmap_rerun import visualize_reconstruction
from colmap_rerun.core.read_write_model import read_model
# Setting data root
data_root = Path("sample_data/dense")
# Load reconstruction
cameras, images, points3D = read_model(data_root / "sparse")
# Visualize
visualize_reconstruction(
cameras=cameras,
images=images,
points3D=points3D,
images_root=Path(data_root / "images"),
depths_root=Path(data_root / "stereo/depth_maps"), # optional
)
Documentation
Full documentation is available at docs/.
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Development Setup
- Install development dependencies:
pip install -e ".[dev]"
- Run tests:
pytest
- Format code:
black .
Code of Conduct
This project adheres to the Contributor Covenant code of conduct.
Acknowledgements
- This project uses Rerun for visualization
- Inspired by COLMAP's 3D reconstruction capabilities
License
MIT - See LICENSE for details.
Metadata
Release files for colmap-rerun 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| colmap_rerun-1.0.2.tar.gz | 14.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| colmap_rerun-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.1 kB
Release files / colmap_rerun-1.0.2.tar.gz
| Download URL | colmap_rerun-1.0.2.tar.gz |
|---|---|
| Size | 14.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
57b005769b0af11b547c9dc7dd64a169540fe874209d39a00d34faec7073613b
|
|
BLAKE2b-256 checksum How to use checksums |
14795cd37b73a339df63f87477e43d00334068a43b7de619a1fe8c7a3a585bf8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 May 3, 2025.
Transparency logRelease files / colmap_rerun-1.0.2-py3-none-any.whl
| Download URL | colmap_rerun-1.0.2-py3-none-any.whl |
|---|---|
| Size | 14.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f955b34d488d710a97d28006f06c4888c0fe139c97f9a71dfa58f2d1f5a90c15
|
|
BLAKE2b-256 checksum How to use checksums |
bbe1a7d8ec73c419c2b54b5a281faaa937b28bb2d9779f4a3abd2a217c4248f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 May 3, 2025.
Transparency log