| Crates.io | modern-icp |
| lib.rs | modern-icp |
| version | 0.6.1 |
| created_at | 2025-06-21 22:43:22.530984+00 |
| updated_at | 2025-08-07 06:56:47.430608+00 |
| description | A modern modular pure Rust implementation of the Iterative Closest Point algorithm. |
| homepage | |
| repository | https://github.com/Synphonyte/modern-icp |
| max_upload_size | |
| id | 1721150 |
| size | 323,743 |
A modern modular pure Rust implementation of the Iterative Closest Point algorithm.
let (alignee_transform, error_sum) = estimate_transform(
alignee_cloud,
&target_cloud,
20, // max iterations
BidirectionalDistance::new(&target_cloud),
accept_all,
reject_n_sigma_dist(3.0),
point_to_plane_lls::estimate_isometry,
same_squared_distance_error(1.0),
);
An integrations with the modelz crate is provided so you can use Model3D with the estimate_transform function.
use modelz::Model3D;
if let (Ok(alignee), Ok(target)) = (Model3D::load("alignee.gltf"), Model3D::load("target.stl")) {
let (transform, error_sum) = estimate_transform(
alignee,
&target,
20, // max iterations
BidirectionalDistance::new(&target),
accept_all,
reject_n_sigma_dist(3.0),
point_to_plane_lls::estimate_isometry,
same_squared_distance_error(1.0),
);
}