{"id":18792457,"url":"https://github.com/prbonn/mapclosures","last_synced_at":"2025-10-07T05:10:25.592Z","repository":{"id":227716706,"uuid":"764533935","full_name":"PRBonn/MapClosures","owner":"PRBonn","description":"Effectively Detecting Loop Closures using Point Cloud Density Maps","archived":false,"fork":false,"pushed_at":"2025-08-08T11:35:08.000Z","size":222,"stargazers_count":366,"open_issues_count":0,"forks_count":30,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-09-01T22:42:52.151Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PRBonn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-28T08:54:26.000Z","updated_at":"2025-08-26T08:23:33.000Z","dependencies_parsed_at":"2024-03-26T09:30:59.696Z","dependency_job_id":"b343878a-3843-42ff-ab76-1c1ec30674b1","html_url":"https://github.com/PRBonn/MapClosures","commit_stats":null,"previous_names":["prbonn/mapclosures"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/PRBonn/MapClosures","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2FMapClosures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2FMapClosures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2FMapClosures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2FMapClosures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PRBonn","download_url":"https://codeload.github.com/PRBonn/MapClosures/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2FMapClosures/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278722757,"owners_count":26034463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T21:19:57.309Z","updated_at":"2025-10-07T05:10:25.572Z","avatar_url":"https://github.com/PRBonn.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003ch1\u003eMapClosures\u003c/h1\u003e\n    \u003ca href=\"https://github.com/PRBonn/MapClosures/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/PRBonn/MapClosures?label=version\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/PRBonn/MapClosures/blob/main/LICENSE\"\u003e\u003cimg src=https://img.shields.io/badge/license-MIT-green\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/PRBonn/MapClosures/blob/main/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Linux-FCC624?logo=linux\u0026logoColor=black\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/PRBonn/MapClosures/blob/main/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Windows-0078D6?st\u0026logo=windows\u0026logoColor=white\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/PRBonn/MapClosures/blob/main/\"\u003e\u003cimg src=\"https://img.shields.io/badge/mac%20os-000000?\u0026logo=apple\u0026logoColor=white\" /\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n    \u003ca href=\"https://github.com/PRBonn/MapClosures/blob/main/README.md#Install\"\u003eInstall\u003c/a\u003e\n    \u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n    \u003ca href=https://www.ipb.uni-bonn.de/pdfs/gupta2024icra.pdf\u003eICRA24 Paper\u003c/a\u003e\n    \u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n    \u003ca href=https://github.com/PRBonn/MapClosures/issues\u003eContact Us\u003c/a\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n\nEffectively Detecting Loop Closures using Point Cloud Density Maps.\n\n\u003cp align=\"center\"\u003e\n\n![image](https://github.com/PRBonn/MapClosures/assets/28734882/18d5ee54-61a9-4d9f-87f2-8aba16de0f75)\n\u003c/p\u003e\n\u003c/div\u003e\n\u003chr /\u003e\n\n## Use MapClosures in your C++ project\n\n1. Include the following snippet in your project's `CMakeLists.txt`:\n```cmake\nset(USE_SYSTEM_EIGEN3 ON CACHE BOOL \"use system eigen3\")\nset(USE_SYSTEM_OPENCV ON CACHE BOOL \"use system opencv\")\n\ninclude(FetchContent)\nFetchContent_Declare(\n    map_closures\n        GIT_REPOSITORY https://github.com/PRBonn/MapClosures.git\n        GIT_TAG main\n        SOURCE_SUBDIR cpp\n)\nFetchContent_MakeAvailable(map_closures)\n\n```\nYou can trigger the automatic installation of the dependencies by playing around with the options in the first three lines of the snippet.\n\n2. Link **MapClosures** against your library or executable:\n```cmake\ntarget_link_libraries(my_target PUBLIC map_closures)\n```\n3. The following _include_ directive in your source code file will provide access to the core API of MapClosures:\n```cpp\n#include \u003cmap_closures/MapClosures.hpp\u003e\n```\n\n## Install the Python API and CLI\n`pip install map-closures`\n\n### Usage\n\u003cdetails\u003e\n\u003csummary\u003e\nThe following command will provide details about how to use our pipeline:\n\n```sh\nmap_closure_pipeline --help\n```\n\u003c/summary\u003e\n\n![CLI_usage](https://github.com/PRBonn/MapClosures/assets/28734882/6dfbd767-ca63-4671-9582-3129752d0244)\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\nProviding the -v flag will initialize the visualizer:\n\n```sh\nmap_closure_pipeline -v\n```\n\u003c/summary\u003e\n\n![Visualizer](https://github.com/user-attachments/assets/34aa2b2f-c0ce-4dfb-a0e0-cbcc04487a5a)\n\u003c/details\u003e\n\n## Citation\n\nIf you use this library for any academic work, please cite our original [paper](https://www.ipb.uni-bonn.de/pdfs/gupta2024icra.pdf).\n\n```bibtex\n@inproceedings{gupta2024icra,\n    author     = {S. Gupta and T. Guadagnino and B. Mersch and I. Vizzo and C. Stachniss},\n    title      = {{Effectively Detecting Loop Closures using Point Cloud Density Maps}},\n    booktitle  = {IEEE International Conference on Robotics and Automation (ICRA)},\n    year       = {2024},\n    codeurl    = {https://github.com/PRBonn/MapClosures},\n}\n```\n### Paper Results\nAs 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:\n```sh\ngit checkout ICRA2024\n```\nOur development aims to push the performances of **MapClosures** above the original results of the paper.\n\n\n## Acknowledgement\n\nThis repository is heavily inspired by, and also depends on [KISS-ICP](https://github.com/PRBonn/kiss-icp)\n\n## Contributors\n\n\u003ca href=\"https://github.com/PRBonn/MapClosures/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=PRBonn/MapClosures\" /\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprbonn%2Fmapclosures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprbonn%2Fmapclosures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprbonn%2Fmapclosures/lists"}