limap.cli package
Command line entry points, each run with python -m limap.cli.<name>.
A CLI module parses its arguments together with the YAML configuration under
cfgs/ (see limap.util.config.load_config()), converts them into the
Options dataclass of the corresponding runner and calls it. They are thin
by design: the pipelines themselves live in limap.runners package.
Triangulation from a COLMAP model
Complete pipelines that run the frontend and the triangulation in one go, on a scene whose camera poses are already known.
Points and lines
Runner for point-line triangulation from COLMAP.
This is similar to automatic_structure_triangulation.py but with groups disabled. It only triangulates points and lines, skipping group (plane) detection and triangulation.
Usage:
python -m limap.cli.automatic_point_line_triangulation \
-m <path_to_colmap_model> \
-i <path_to_images> \
-o <output_directory> \
-c cfgs/structure_triangulation/default.yaml
- limap.cli.automatic_point_line_triangulation.main()
- limap.cli.automatic_point_line_triangulation.run_point_line_triangulation_from_colmap(cfg, model_path, image_path)
Points, lines, groups and wireframe
Runner for structure triangulation from COLMAP.
Triangulates 3D points, lines, and groups (planes) from a COLMAP model. Runs the full pipeline: frontend (detection + matching), point triangulation, line/group triangulation, and optional bundle adjustment.
Usage:
python -m limap.cli.automatic_structure_triangulation \
-m <path_to_colmap_model> \
-i <path_to_images> \
-o <output_directory> \
-c cfgs/structure_triangulation/default.yaml
- limap.cli.automatic_structure_triangulation.main()
- limap.cli.automatic_structure_triangulation.run_structure_triangulation_from_colmap(cfg, model_path, image_path)
Frontend
Detection, description and matching alone, writing the two databases that the triangulation modules below consume.
Runner for structure frontend (detection + matching).
This runner takes a COLMAP model and images, runs line/point detection and matching, and outputs:
database.db: COLMAP database with point features and matches
structure_database.db: Structure database with line features and matches
Usage:
python -m limap.cli.structure_frontend \
--image_dir <path_to_images> \
--model_path <path_to_colmap_model> \
--output_dir <output_directory>
The output can then be used with global_line_triangulation.py or incremental_line_triangulation.py.
- limap.cli.structure_frontend.main()
Triangulation from a structure database
The second half of the automatic pipelines, taking the frontend output instead of computing it.
Global line triangulation
Runner for global line triangulation.
This runner runs global line triangulation using a pre-computed structure database and COLMAP model.
Usage:
python -m limap.cli.global_line_triangulation \
--structure_db_path <path_to_structure_database.db> \
--model_path <path_to_colmap_model> \
--output_dir <output_directory>
- limap.cli.global_line_triangulation.main()
- limap.cli.global_line_triangulation.run_global_line_triangulation(structure_db_path: Path, model_path: Path, output_dir: Path, cfg: dict)
Run global line triangulation using pre-computed databases.
- Parameters:
structure_db_path – Path to structure_database.db
model_path – Path to COLMAP model directory
output_dir – Output directory for results
cfg – Configuration dictionary with triangulation options
Global structure triangulation
Runner for global structure triangulation.
This runner runs global structure triangulation (lines + groups) using a pre-computed structure database and COLMAP model.
Usage:
python -m limap.cli.global_structure_triangulation \
--structure_db_path <path_to_structure_database.db> \
--model_path <path_to_colmap_model> \
--output_dir <output_directory>
- limap.cli.global_structure_triangulation.main()
- limap.cli.global_structure_triangulation.run_global_structure_triangulation(structure_db_path: Path, model_path: Path, output_dir: Path, cfg: dict)
Run global structure triangulation using pre-computed databases.
- Parameters:
structure_db_path – Path to structure_database.db
model_path – Path to COLMAP model directory
output_dir – Output directory for results
cfg – Configuration dictionary with triangulation options
Incremental line triangulation
Runner for incremental line triangulation.
This runner simulates incremental reconstruction by processing images one at a time, triangulating lines after each “registration”. It requires a pre-computed structure database (from a previous structure_triangulation run).
Usage:
python -m limap.cli.incremental_line_triangulation \
--structure_db_path <path_to_structure_database.db> \
--model_path <path_to_colmap_model> \
--output_dir <output_directory>
- limap.cli.incremental_line_triangulation.main()
- limap.cli.incremental_line_triangulation.run_incremental_line_triangulation(structure_db_path: Path, model_path: Path, output_dir: Path, cfg: dict)
Run incremental line triangulation using pre-computed databases.
This simulates incremental SfM by: 1. Loading the structure database (with detections and matches) 2. Processing images one at a time in order 3. Triangulating lines incrementally as each image is “registered”
- Parameters:
structure_db_path – Path to structure_database.db
model_path – Path to COLMAP model directory
output_dir – Output directory for results
cfg – Configuration dictionary with triangulation options
Incremental structure triangulation
Runner for incremental structure triangulation.
This runner runs incremental structure triangulation (points, lines, groups) using pre-computed databases. It requires a pre-computed structure database and a COLMAP database with point correspondences.
Usage:
python -m limap.cli.incremental_structure_triangulation \
--structure_db_path <path_to_structure_database.db> \
--db_path <path_to_colmap_database.db> \
--model_path <path_to_colmap_model> \
--output_dir <output_directory>
- limap.cli.incremental_structure_triangulation.main()
- limap.cli.incremental_structure_triangulation.run_incremental_structure_triangulation(structure_db_path: Path, db_path: Path, model_path: Path, output_dir: Path, cfg: dict)
Run incremental structure triangulation using pre-computed databases.
- Parameters:
structure_db_path – Path to structure_database.db
db_path – Path to COLMAP database.db (for point correspondences)
model_path – Path to COLMAP model directory
output_dir – Output directory for results
cfg – Configuration dictionary with triangulation options
Incremental SfM
Run structure-aware incremental SfM.
This pipeline performs full incremental SfM with hybrid point+line registration, structure triangulation (points, lines, groups), and structure BA.
Usage:
python -m limap.cli.structure_incremental_sfm \
--db_path <path_to_colmap_database.db> \
--structure_db_path <path_to_structure_database.db> \
--image_path <path_to_images> \
--output_dir <output_directory>
- limap.cli.structure_incremental_sfm.main()
- limap.cli.structure_incremental_sfm.run_structure_incremental_sfm(db_path: Path, structure_db_path: Path, image_path: Path, output_dir: Path, cfg: dict)
Run structure-aware incremental SfM.
- Parameters:
db_path – Path to COLMAP database.db
structure_db_path – Path to structure_database.db
image_path – Path to image directory
output_dir – Output directory for results
cfg – Configuration dictionary