MCPcopy Create free account
hub / github.com/PRBonn/MapClosures

github.com/PRBonn/MapClosures @v2.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.1.0 ↗ · + Follow
263 symbols 670 edges 36 files 10 documented · 4% updated 32d agov2.1.0 · 2026-04-27★ 423

Browse by type

Functions 222 Types & classes 41
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<h1>MapClosures</h1>
<a href="https://github.com/PRBonn/MapClosures/releases"><img src="https://img.shields.io/github/v/release/PRBonn/MapClosures?label=version" /></a>
<a href="https://github.com/PRBonn/MapClosures/blob/main/LICENSE"><img src=https://img.shields.io/badge/license-MIT-green" /></a>
<a href="https://github.com/PRBonn/MapClosures/blob/main/"><img src="https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black" /></a>
<a href="https://github.com/PRBonn/MapClosures/blob/main/"><img src="https://img.shields.io/badge/Windows-0078D6?st&logo=windows&logoColor=white" /></a>
<a href="https://github.com/PRBonn/MapClosures/blob/main/"><img src="https://img.shields.io/badge/mac%20os-000000?&logo=apple&logoColor=white" /></a>






<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<a href="https://github.com/PRBonn/MapClosures/blob/main/README.md#Install">Install</a>
<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<a href=https://www.ipb.uni-bonn.de/pdfs/gupta2024icra.pdf>ICRA24 Paper</a>
<span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
<a href=https://github.com/PRBonn/MapClosures/issues>Contact Us</a>

Effectively Detecting Loop Closures using Point Cloud Density Maps.

image


Use MapClosures in your C++ project

  1. Include the following snippet in your project's CMakeLists.txt:
set(USE_SYSTEM_EIGEN3 ON CACHE BOOL "use system eigen3")
set(USE_SYSTEM_OPENCV ON CACHE BOOL "use system opencv")

include(FetchContent)
FetchContent_Declare(
    map_closures
        GIT_REPOSITORY https://github.com/PRBonn/MapClosures.git
        GIT_TAG main
        SOURCE_SUBDIR cpp
)
FetchContent_MakeAvailable(map_closures)

You can trigger the automatic installation of the dependencies by playing around with the options in the first three lines of the snippet.

  1. Link MapClosures against your library or executable:
target_link_libraries(my_target PUBLIC map_closures)
  1. The following include directive in your source code file will provide access to the core API of MapClosures:
#include <map_closures/MapClosures.hpp>

Install the Python API and CLI

pip install map-closures

Usage

The following command will provide details about how to use our pipeline:

map_closure_pipeline --help

CLI_usage

Providing the -v flag will initialize the visualizer:

map_closure_pipeline -v

Visualizer

Citation

If you use this library for any academic work, please cite our original paper.

@inproceedings{gupta2024icra,
    author     = {S. Gupta and T. Guadagnino and B. Mersch and I. Vizzo and C. Stachniss},
    title      = {{Effectively Detecting Loop Closures using Point Cloud Density Maps}},
    booktitle  = {IEEE International Conference on Robotics and Automation (ICRA)},
    year       = {2024},
    codeurl    = {https://github.com/PRBonn/MapClosures},
}

Paper Results

As we decided to continue the development of MapClosures beyond the scope of the ICRA paper, we created a git tag so that researchers can consistently reproduce the results of the publication. To checkout at this tag, you can run the following:

git checkout ICRA2024

Our development aims to push the performances of MapClosures above the original results of the paper.

Acknowledgement

This repository is heavily inspired by, and also depends on KISS-ICP

Contributors

Core symbols most depended-on inside this repo

Shape

Method 193
Class 41
Function 29

Languages

Python78%
C++22%

Modules by API surface

python/map_closures/visualizer/visualizer.py23 symbols
python/map_closures/visualizer/closures_visualizer.py16 symbols
python/map_closures/tools/evaluation.py16 symbols
python/map_closures/datasets/generic.py15 symbols
python/map_closures/visualizer/registration_visualizer.py11 symbols
python/map_closures/datasets/mcap.py11 symbols
python/map_closures/datasets/kitti.py11 symbols
cpp/map_closures/VoxelMap.hpp11 symbols
python/map_closures/pipeline.py10 symbols
python/map_closures/datasets/rosbag.py10 symbols
python/map_closures/voxel_map.py9 symbols
python/map_closures/visualizer/local_maps_visualizer.py9 symbols

For agents

$ claude mcp add MapClosures \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page