Installation
LIMAP has been tested on Linux, macOS and Windows.
Dependencies
Python 3.10/11/12/13
CMake >= 3.17
CUDA (for deep learning based detectors/matchers)
System dependencies [Per-platform guide]
Note that one cannot visualize reconstructions on Python 3.13, as there are no published wheels available for open3d and our 3D viewer depends on it.
Install modes
Full – everything the reconstruction pipelines need. Use this unless you know you want one of the others:
python -m pip install -r requirements.txt # git-sourced detectors and matchers
python -m pip install -Ive ".[all]"
Core only – the compiled library and its Python API, and nothing else:
python -m pip install -Ive .
This gives you the geometry types, reading and writing of reconstructions, and
the estimators and bundle adjustment, all operating on data you already have.
It does not let you reconstruct from images, which needs hloc, nor
detect 2D lines, nor visualize anything. This is also the mode a published
wheel provides – the extras and the git-sourced detectors are always opt-in on
top.
Developer – adds pytest and the pinned formatters on top of the full install:
python -m pip install -r requirements.txt
python -m pip install -Ive ".[all,dev]"
To double check if the package is successfully installed:
python -c "import limap; print(limap.__version__)"
Extras
Extra |
Contents |
|---|---|
|
matplotlib, seaborn, open3d – needed by |
|
einops, scikit-image, pillow – support code for the 2D line detectors |
|
pytest, ruff, clang-format |
|
|
A few things worth knowing:
Running a reconstruction needs
hloc, which comes fromrequirements.txtrather than from the package metadata: it is not published on PyPI, so it cannot be declared as a dependency. Without it the package imports fine, but the point frontend will fail when it is first used.open3d publishes no wheels for Python 3.13+, and all 3D visualization depends on it, so
visualize_holistic_recon.py,visualize_colmap_model.pyand the 3D helpers inlimap.visualizedo not run there. Thepxwplanarplane detector also depends on open3d, so it is skipped on 3.13 as well. Line and point reconstruction are unaffected – no pipeline touches open3d.Several further methods (HAWP, TP-LSD, LBD, RoMa, Progressive-X) are not installed by any of the above. Each is cloned and pip-installed separately. See the per-method guides under misc/install/.
For faster incremental rebuilds during development (reuses the CMake build directory instead of rebuilding from scratch):
python -m pip install -Cbuild-dir=./pylimap_build --no-build-isolation -Ive .