{"adoption": {"forks": 161, "observed_at": "2026-08-28T04:03:23.096045+00:00", "stars": 1051}, "canonical_url": "https://ross.abutalabs.com/products/patchwork-plusplus", "card": {"archived": false, "artifact_type": "library", "description": "Patchwork++: Fast and robust ground segmentation method for 3D LiDAR scans. @ IROS'22", "domain": ["robotics", "autonomous-vehicles", "computer-vision"], "enriched": true, "function": ["computer-vision", "image-processing", "sdk"], "health_score": 89, "homepage": null, "language": "C++", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["url-kaist/patchwork-plusplus"], "name": "url-kaist/patchwork-plusplus", "platform": ["cpp", "python", "windows"], "pushed_at": "2026-05-23T06:46:01+00:00", "repo": "url-kaist/patchwork-plusplus", "stars": 1051, "tags": ["lidar", "point-cloud", "ground-segmentation", "ros2", "3d-perception", "iros-2022", "algorithms", "linux", "macos", "ros"], "topics": ["3d-lidar", "ground-segmentation", "point-cloud", "lidar", "segmentation", "ground", "ground-removal", "detection", "ground-detection"], "urls": [], "use_cases": ["segment ground from 3d lidar point clouds", "remove ground points before object detection", "estimate ground plane in autonomous driving lidar data", "preprocess point clouds for obstacle detection", "run ground segmentation in ros2", "use lidar ground segmentation from python"], "what_it_is": "Patchwork++ is a fast, robust, and self-adaptive ground segmentation algorithm for 3D LiDAR point clouds, published at IROS 2022. It provides C++ and Python APIs plus a ROS2 wrapper for removing or detecting ground in point cloud data.", "when_to_avoid": ["you need semantic segmentation of all point cloud classes, not just ground", "your input is camera imagery rather than 3D point clouds", "you need a GPU-accelerated deep-learning-based segmentation model"], "when_to_choose": ["you need fast, real-time ground segmentation for LiDAR scans", "you want a self-adaptive algorithm robust to uneven terrain", "you work in ROS2 or need C++/Python bindings"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/patchwork-plusplus", "repo": "url-kaist/patchwork-plusplus", "role": "main", "score": 87}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:23.096045+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:00:14.341271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "003f96f6645ee37010915106d891a919a288434da4917f0e9ec79cee7b8e0c9d", "fetched_at": "2026-08-28T04:03:23.096045+00:00", "kind": "readme", "missing": false, "url": "https://github.com/url-kaist/patchwork-plusplus"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:23.096045+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:00:14.341271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "003f96f6645ee37010915106d891a919a288434da4917f0e9ec79cee7b8e0c9d", "fetched_at": "2026-08-28T04:03:23.096045+00:00", "kind": "readme", "missing": false, "url": "https://github.com/url-kaist/patchwork-plusplus"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:00:14.341271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "003f96f6645ee37010915106d891a919a288434da4917f0e9ec79cee7b8e0c9d", "fetched_at": "2026-08-28T04:03:23.096045+00:00", "kind": "readme", "missing": false, "url": "https://github.com/url-kaist/patchwork-plusplus"}], "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:03:23.096045+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:23.096045+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:23.096045+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:00:14.341271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "003f96f6645ee37010915106d891a919a288434da4917f0e9ec79cee7b8e0c9d", "fetched_at": "2026-08-28T04:03:23.096045+00:00", "kind": "readme", "missing": false, "url": "https://github.com/url-kaist/patchwork-plusplus"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:23.096045+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:23.096045+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:00:14.341271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "003f96f6645ee37010915106d891a919a288434da4917f0e9ec79cee7b8e0c9d", "fetched_at": "2026-08-28T04:03:23.096045+00:00", "kind": "readme", "missing": false, "url": "https://github.com/url-kaist/patchwork-plusplus"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:23.096045+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:23.096045+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:23.096045+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:00:14.341271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "003f96f6645ee37010915106d891a919a288434da4917f0e9ec79cee7b8e0c9d", "fetched_at": "2026-08-28T04:03:23.096045+00:00", "kind": "readme", "missing": false, "url": "https://github.com/url-kaist/patchwork-plusplus"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:23.096045+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:23.096045+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:00:14.341271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "003f96f6645ee37010915106d891a919a288434da4917f0e9ec79cee7b8e0c9d", "fetched_at": "2026-08-28T04:03:23.096045+00:00", "kind": "readme", "missing": false, "url": "https://github.com/url-kaist/patchwork-plusplus"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:00:14.341271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "003f96f6645ee37010915106d891a919a288434da4917f0e9ec79cee7b8e0c9d", "fetched_at": "2026-08-28T04:03:23.096045+00:00", "kind": "readme", "missing": false, "url": "https://github.com/url-kaist/patchwork-plusplus"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:00:14.341271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "003f96f6645ee37010915106d891a919a288434da4917f0e9ec79cee7b8e0c9d", "fetched_at": "2026-08-28T04:03:23.096045+00:00", "kind": "readme", "missing": false, "url": "https://github.com/url-kaist/patchwork-plusplus"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:00:14.341271+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "003f96f6645ee37010915106d891a919a288434da4917f0e9ec79cee7b8e0c9d", "fetched_at": "2026-08-28T04:03:23.096045+00:00", "kind": "readme", "missing": false, "url": "https://github.com/url-kaist/patchwork-plusplus"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 83, "longevity": 100, "rhythm": 85}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1650, "days_push": 102, "days_rel": 102, "gap_med": 1, "n_releases_24m": 8}, "score": 87, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}