{"adoption": {"forks": 567, "observed_at": "2026-08-28T04:05:41.596667+00:00", "stars": 1828}, "canonical_url": "https://ross.abutalabs.com/products/libpointmatcher", "card": {"archived": false, "artifact_type": "library", "description": "An Iterative Closest Point (ICP) library for 2D and 3D mapping in Robotics", "domain": ["robotics", "computer-vision"], "enriched": true, "function": ["computer-vision", "image-processing", "sdk"], "health_score": 60, "homepage": "https://libpointmatcher.readthedocs.io/en/latest/", "language": "C++", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["norlab-ulaval/libpointmatcher"], "name": "norlab-ulaval/libpointmatcher", "platform": ["cpp", "python", "windows"], "pushed_at": "2025-10-29T18:18:13+00:00", "repo": "norlab-ulaval/libpointmatcher", "stars": 1828, "tags": ["icp", "point-cloud-registration", "lidar", "slam", "point-clouds", "libnabo", "ros", "algorithms", "linux", "macos", "docker"], "topics": ["libpointmatcher", "robotics", "ubuntu", "point-clouds", "libnabo", "lidar", "ros"], "urls": [], "use_cases": ["align point clouds from lidar scans", "register 3D point clouds for robotic mapping", "implement ICP-based scan matching in SLAM", "build 2D/3D maps from robot sensor data", "match point clouds in computer vision pipelines", "integrate ICP into ROS robotics projects"], "what_it_is": "libpointmatcher is a modular C++ library implementing the Iterative Closest Point (ICP) algorithm for aligning 2D and 3D point clouds, with Python bindings. It is widely used in robotics and computer vision applications such as lidar-based mapping and SLAM.", "when_to_avoid": ["you need general-purpose point cloud processing beyond registration (consider PCL)", "you want a pure-Python solution without C++ dependencies", "you need GPU-accelerated registration out of the box"], "when_to_choose": ["you need a fast, modular, well-tested ICP implementation in C++", "you are doing lidar-based mapping or SLAM in robotics", "you want Python bindings for point cloud registration", "you need a library with ROS and Docker support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/libpointmatcher", "repo": "norlab-ulaval/libpointmatcher", "role": "main", "score": 45}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:19:24.209045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1edf733bb002e3eb9d2e0a823aa33254e9026052ed3a725bbfee71794cdbfb", "fetched_at": "2026-08-28T04:05:41.596667+00:00", "kind": "readme", "missing": false, "url": "https://github.com/norlab-ulaval/libpointmatcher"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:19:24.209045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1edf733bb002e3eb9d2e0a823aa33254e9026052ed3a725bbfee71794cdbfb", "fetched_at": "2026-08-28T04:05:41.596667+00:00", "kind": "readme", "missing": false, "url": "https://github.com/norlab-ulaval/libpointmatcher"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:19:24.209045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1edf733bb002e3eb9d2e0a823aa33254e9026052ed3a725bbfee71794cdbfb", "fetched_at": "2026-08-28T04:05:41.596667+00:00", "kind": "readme", "missing": false, "url": "https://github.com/norlab-ulaval/libpointmatcher"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:19:24.209045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1edf733bb002e3eb9d2e0a823aa33254e9026052ed3a725bbfee71794cdbfb", "fetched_at": "2026-08-28T04:05:41.596667+00:00", "kind": "readme", "missing": false, "url": "https://github.com/norlab-ulaval/libpointmatcher"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:19:24.209045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1edf733bb002e3eb9d2e0a823aa33254e9026052ed3a725bbfee71794cdbfb", "fetched_at": "2026-08-28T04:05:41.596667+00:00", "kind": "readme", "missing": false, "url": "https://github.com/norlab-ulaval/libpointmatcher"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:19:24.209045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1edf733bb002e3eb9d2e0a823aa33254e9026052ed3a725bbfee71794cdbfb", "fetched_at": "2026-08-28T04:05:41.596667+00:00", "kind": "readme", "missing": false, "url": "https://github.com/norlab-ulaval/libpointmatcher"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.596667+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:19:24.209045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1edf733bb002e3eb9d2e0a823aa33254e9026052ed3a725bbfee71794cdbfb", "fetched_at": "2026-08-28T04:05:41.596667+00:00", "kind": "readme", "missing": false, "url": "https://github.com/norlab-ulaval/libpointmatcher"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:19:24.209045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1edf733bb002e3eb9d2e0a823aa33254e9026052ed3a725bbfee71794cdbfb", "fetched_at": "2026-08-28T04:05:41.596667+00:00", "kind": "readme", "missing": false, "url": "https://github.com/norlab-ulaval/libpointmatcher"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:19:24.209045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1edf733bb002e3eb9d2e0a823aa33254e9026052ed3a725bbfee71794cdbfb", "fetched_at": "2026-08-28T04:05:41.596667+00:00", "kind": "readme", "missing": false, "url": "https://github.com/norlab-ulaval/libpointmatcher"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:19:24.209045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cf1edf733bb002e3eb9d2e0a823aa33254e9026052ed3a725bbfee71794cdbfb", "fetched_at": "2026-08-28T04:05:41.596667+00:00", "kind": "readme", "missing": false, "url": "https://github.com/norlab-ulaval/libpointmatcher"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 49, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5706, "days_push": 308, "days_rel": 621, "gap_med": null, "n_releases_24m": 1}, "score": 45, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}