Skip to main content

Crate rigidity

Crate rigidity 

Source
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(), &params)?;
let fixed = prepare("target.ply".as_ref(), &params)?;

let result = register_pair(&moving, &fixed, &RegisterParams::default());
println!("{:.5} m", result.rmse);

§Features

featurepulls infor
pipeline (default)pipeline, io, spatialfile → surface → registration → report
ioioPLY, PCD, LAS/LAZ, E57, CSV
spatialspatialthe kd-tree
scenesscenessynthetic 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) and SE(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.
BruteForce
Brute force.
Neighbor
A neighbour that was found.
PointCloud
A point cloud.

Enums§

AttributeData
A column of attribute values.
CloudError
Errors from building or modifying a cloud.

Traits§

NeighborSearch
Nearest-neighbour search.