Expand description
Point-cloud registration that reports which degrees of freedom the geometry actually determined.
This crate contains no code of its own. It is the single dependency to
add when you want the library: the workspace is split into rigidity-*
crates so that the core can keep a fixed, audited dependency list, and
that split is an implementation concern rather than something every
caller should have to reassemble in its own Cargo.toml.
use rigidity::pipeline::{PrepareParams, RegisterParams, prepare, register_pair};
let params = PrepareParams::default();
let moving = prepare("source.ply".as_ref(), ¶ms)?;
let fixed = prepare("target.ply".as_ref(), ¶ms)?;
let result = register_pair(&moving, &fixed, &RegisterParams::default());
println!("{:.5} m", result.rmse);§Features
| feature | pulls in | for |
|---|---|---|
pipeline (default) | pipeline, io, spatial | file → surface → registration → report |
io | io | PLY, PCD, LAS/LAZ, E57, CSV |
spatial | spatial | the kd-tree |
scenes | scenes | synthetic scenes with known null spaces |
With default-features = false only the core remains: nalgebra,
rayon, thiserror and nothing else.
rigidity-viz is deliberately absent. It is a debugging aid whose
weight sits behind its own rerun feature, and a crate that wants it
is better off depending on it directly than reaching it through a
feature two levels down.
Re-exports§
pub use rigidity_core::nalgebra;
Modules§
- cloud
- Structure-of-arrays storage for point clouds.
- icp
- Iterative closest point with a point-to-plane residual.
- io
- Point-cloud input and output.
- lie
- The Lie groups
SO(3)andSE(3). - linalg
- Numerical linear algebra.
- neighbors
- Neighbour search: the contract, and a brute-force reference implementation.
- normals
- Normal estimation by principal component analysis.
- observability
- Conditioning of the registration problem and observability of the six degrees of freedom.
- pipeline
- From files on disk to a conditioning report.
- scenes
- Synthetic scenes with analytically known null spaces.
- spatial
- Spatial indices.
- voxel
- Voxel downsampling with a bit-for-bit reproducible result.
Structs§
- Attribute
- A named attribute column.
- Brute
Force - Brute force.
- Neighbor
- A neighbour that was found.
- Point
Cloud - A point cloud.
Enums§
- Attribute
Data - A column of attribute values.
- Cloud
Error - Errors from building or modifying a cloud.
Traits§
- Neighbor
Search - Nearest-neighbour search.