Skip to main content

Crate rigidity_pipeline

Crate rigidity_pipeline 

Source
Expand description

From files on disk to a conditioning report.

The core provides the pieces — downsampling, normals, an index, ICP, conditioning — and every front end has to assemble them in the same order, with the same defaults, or its numbers stop being comparable with anyone else’s. While that assembly lived inside the binary the second front end had to copy it, and two copies drift. It lives here instead, and the command line and the viewer call the same code.

Nothing here knows about argument parsing or about drawing.

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);

Structs§

PrepareParams
Settings shared by everything that turns a raw cloud into a surface.
Prepared
A cloud ready to be registered: points, normals and an index over them.
Progress
How far along one stage is.
RegisterParams
Settings of the registration itself.
ReportParams
What the numbers in a report are measured against.

Enums§

PipelineError
Anything that can go wrong between a file and a report.
Stage
Which part of the work a Progress report is about.

Functions§

analyse_cloud
The conditioning of a single surface.
analyse_registration
The conditioning of a registration, at a given pose.
prepare
Reads a cloud and prepares it.
prepare_cloud
Prepares a cloud that is already in memory.
prepare_cloud_observed
The same, reporting progress.
prepare_observed
The same, reporting progress.
register_pair
Registers moving onto fixed, starting from the identity.
register_pair_observed
The same, from a given initial pose and with an observer.
transform_cloud
Applies a pose to every point of a cloud.