Skip to main content

COLMAP Rerun Visualizer

PyPI Version License

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:

  1. Download the sample data from Google Drive
  2. 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)
  1. 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

  1. Install development dependencies:
pip install -e ".[dev]"
  1. Run tests:
pytest
  1. 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)

Source distribution for colmap-rerun 1.0.2
File Size Uploaded
colmap_rerun-1.0.2.tar.gz 14.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for colmap-rerun 1.0.2
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.0.2 This release

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