pub struct IcpReport {
pub transform: Rigid,
pub rmse: f64,
pub iterations: usize,
pub status: IcpStatus,
pub samples: usize,
pub inliers: usize,
pub conditioning: f64,
pub undetermined: Vec<IcpMotion>,
pub extent: f64,
}Expand description
What icp() found. Every number is finite, except that rmse is
infinite when no point has a correspondence. rmse is measured in f64 from
the points to the chosen triangles.
Fields§
§transform: RigidThe transform from the points to the fixed mesh’s local coordinates.
When the status is IcpStatus::Converged or
IcpStatus::Underconstrained, the pose iteration stopped at;
otherwise the best pose seen (most points used, then lowest rmse).
rmse: f64The root mean square distance from the used points to the fixed mesh
at transform.
iterations: usizeSteps taken.
status: IcpStatusWhy iteration stopped.
samples: usizePoints given.
inliers: usizePoints used at transform.
conditioning: f64The smallest eigenvalue over the largest of the normalised normal
equations at the last step, in [0, 1]. Geometry only, with no reference
to noise: a low value warns of a weak motion, but a high one does not
show that the motion is determined, for which see undetermined. Zero
when no step ran.
undetermined: Vec<IcpMotion>The motions the data do not determine: moving the pose along one and
iterating again ended at a different pose that fits as well. Empty when
the status is IcpStatus::Converged. Weakest first.
extent: f64The points’ extent: their largest distance from their centroid.