MeshLib C# Docs
Loading...
Searching...
No Matches
MR.ICP Class Reference

This class allows you to register two object with similar shape using Iterative Closest Points (ICP) point-to-point or point-to-plane algorithms. More...

+ Inheritance diagram for MR.ICP:

Public Member Functions

unsafe ICP (MR._ByValue_ICP _other)
 Generated from constructor MR.ICP.ICP.
 
 ICP (Const_ICP _other)
 Generated from constructor MR.ICP.ICP.
 
 ICP (ICP _other)
 Generated from constructor MR.ICP.ICP.
 
unsafe ICP (MR.Const_MeshOrPoints flt, MR.Const_MeshOrPoints ref_, in MR.AffineXf3f fltXf, in MR.AffineXf3f refXf, MR.Const_VertBitSet? fltSamples=null, MR.Const_VertBitSet? refSamples=null)
 Constructs ICP framework with given sample points on both objects.
 
unsafe ICP (MR.Const_MeshOrPointsXf flt, MR.Const_MeshOrPointsXf ref_, MR.Const_VertBitSet? fltSamples=null, MR.Const_VertBitSet? refSamples=null)
 Generated from constructor MR.ICP.ICP. Parameter fltSamples defaults to {}. Parameter refSamples defaults to {}.
 
unsafe ICP (MR.Const_MeshOrPoints flt, MR.Const_MeshOrPoints ref_, in MR.AffineXf3f fltXf, in MR.AffineXf3f refXf, float samplingVoxelSize)
 Constructs ICP framework with automatic points sampling on both objects.
 
unsafe ICP (MR.Const_MeshOrPointsXf flt, MR.Const_MeshOrPointsXf ref_, float samplingVoxelSize)
 Generated from constructor MR.ICP.ICP.
 
unsafe MR.ICP assign (MR._ByValue_ICP _other)
 Generated from method MR.ICP.operator=.
 
unsafe void setParams (MR.Const_ICPProperties prop)
 tune algorithm params before run calculateTransformation() Generated from method MR.ICP.setParams.
 
unsafe void setCosineLimit (float cos)
 Generated from method MR.ICP.setCosineLimit.
 
unsafe void setDistanceLimit (float dist)
 Generated from method MR.ICP.setDistanceLimit.
 
unsafe void setBadIterCount (int iter)
 Generated from method MR.ICP.setBadIterCount.
 
unsafe void setFarDistFactor (float factor)
 Generated from method MR.ICP.setFarDistFactor.
 
unsafe void setFltSamples (MR.Const_VertBitSet fltSamples)
 select pairs with origin samples on floating object Generated from method MR.ICP.setFltSamples.
 
unsafe void sampleFltPoints (float samplingVoxelSize)
 Generated from method MR.ICP.sampleFltPoints.
 
unsafe void setRefSamples (MR.Const_VertBitSet refSamples)
 select pairs with origin samples on reference object Generated from method MR.ICP.setRefSamples.
 
unsafe void sampleRefPoints (float samplingVoxelSize)
 Generated from method MR.ICP.sampleRefPoints.
 
unsafe void samplePoints (float samplingVoxelSize)
 select pairs with origin samples on both objects Generated from method MR.ICP.samplePoints.
 
unsafe void setXfs (in MR.AffineXf3f fltXf, in MR.AffineXf3f refXf)
 sets to-world transformations both for floating and reference objects Generated from method MR.ICP.setXfs.
 
unsafe void setFloatXf (in MR.AffineXf3f fltXf)
 sets to-world transformation for the floating object Generated from method MR.ICP.setFloatXf.
 
unsafe MR.AffineXf3f autoSelectFloatXf ()
 automatically selects initial transformation for the floating object based on covariance matrices of both floating and reference objects; applies the transformation to the floating object and returns it Generated from method MR.ICP.autoSelectFloatXf.
 
unsafe void updatePointPairs ()
 recompute point pairs after manual change of transformations or parameters Generated from method MR.ICP.updatePointPairs.
 
unsafe MR.AffineXf3f calculateTransformation ()
 runs ICP algorithm given input objects, transformations, and parameters;
 

Detailed Description

This class allows you to register two object with similar shape using Iterative Closest Points (ICP) point-to-point or point-to-plane algorithms.

Generated from class MR.ICP. This is the non-const half of the class.

Constructor & Destructor Documentation

◆ ICP() [1/7]

unsafe MR.ICP.ICP ( MR._ByValue_ICP _other)
inline

Generated from constructor MR.ICP.ICP.

◆ ICP() [2/7]

MR.ICP.ICP ( Const_ICP _other)
inline

Generated from constructor MR.ICP.ICP.

◆ ICP() [3/7]

MR.ICP.ICP ( ICP _other)
inline

Generated from constructor MR.ICP.ICP.

◆ ICP() [4/7]

unsafe MR.ICP.ICP ( MR.Const_MeshOrPoints flt,
MR.Const_MeshOrPoints ref_,
in MR.AffineXf3f fltXf,
in MR.AffineXf3f refXf,
MR.Const_VertBitSet? fltSamples = null,
MR.Const_VertBitSet? refSamples = null )
inline

Constructs ICP framework with given sample points on both objects.

Parameters
fltfloating object
refreference object
fltXftransformation from floating object space to global space
refXftransformation from reference object space to global space
fltSamplessamples on floating object to find projections on the reference object during the algorithm
refSamplessamples on reference object to find projections on the floating object during the algorithm Generated from constructor MR.ICP.ICP. Parameter fltSamples defaults to {}. Parameter refSamples defaults to {}.

◆ ICP() [5/7]

unsafe MR.ICP.ICP ( MR.Const_MeshOrPointsXf flt,
MR.Const_MeshOrPointsXf ref_,
MR.Const_VertBitSet? fltSamples = null,
MR.Const_VertBitSet? refSamples = null )
inline

Generated from constructor MR.ICP.ICP. Parameter fltSamples defaults to {}. Parameter refSamples defaults to {}.

◆ ICP() [6/7]

unsafe MR.ICP.ICP ( MR.Const_MeshOrPoints flt,
MR.Const_MeshOrPoints ref_,
in MR.AffineXf3f fltXf,
in MR.AffineXf3f refXf,
float samplingVoxelSize )
inline

Constructs ICP framework with automatic points sampling on both objects.

Parameters
fltfloating object
refreference object
fltXftransformation from floating object space to global space
refXftransformation from reference object space to global space
samplingVoxelSizeapproximate distance between samples on each of two objects Generated from constructor MR.ICP.ICP.

◆ ICP() [7/7]

unsafe MR.ICP.ICP ( MR.Const_MeshOrPointsXf flt,
MR.Const_MeshOrPointsXf ref_,
float samplingVoxelSize )
inline

Generated from constructor MR.ICP.ICP.

Member Function Documentation

◆ assign()

unsafe MR.ICP MR.ICP.assign ( MR._ByValue_ICP _other)
inline

Generated from method MR.ICP.operator=.

◆ autoSelectFloatXf()

unsafe MR.AffineXf3f MR.ICP.autoSelectFloatXf ( )
inline

automatically selects initial transformation for the floating object based on covariance matrices of both floating and reference objects; applies the transformation to the floating object and returns it Generated from method MR.ICP.autoSelectFloatXf.

◆ calculateTransformation()

unsafe MR.AffineXf3f MR.ICP.calculateTransformation ( )
inline

runs ICP algorithm given input objects, transformations, and parameters;

Returns
adjusted transformation of the floating object to match reference object Generated from method MR.ICP.calculateTransformation.

◆ sampleFltPoints()

unsafe void MR.ICP.sampleFltPoints ( float samplingVoxelSize)
inline

Generated from method MR.ICP.sampleFltPoints.

◆ samplePoints()

unsafe void MR.ICP.samplePoints ( float samplingVoxelSize)
inline

select pairs with origin samples on both objects Generated from method MR.ICP.samplePoints.

◆ sampleRefPoints()

unsafe void MR.ICP.sampleRefPoints ( float samplingVoxelSize)
inline

Generated from method MR.ICP.sampleRefPoints.

◆ setBadIterCount()

unsafe void MR.ICP.setBadIterCount ( int iter)
inline

Generated from method MR.ICP.setBadIterCount.

◆ setCosineLimit()

unsafe void MR.ICP.setCosineLimit ( float cos)
inline

Generated from method MR.ICP.setCosineLimit.

◆ setDistanceLimit()

unsafe void MR.ICP.setDistanceLimit ( float dist)
inline

Generated from method MR.ICP.setDistanceLimit.

◆ setFarDistFactor()

unsafe void MR.ICP.setFarDistFactor ( float factor)
inline

Generated from method MR.ICP.setFarDistFactor.

◆ setFloatXf()

unsafe void MR.ICP.setFloatXf ( in MR.AffineXf3f fltXf)
inline

sets to-world transformation for the floating object Generated from method MR.ICP.setFloatXf.

◆ setFltSamples()

unsafe void MR.ICP.setFltSamples ( MR.Const_VertBitSet fltSamples)
inline

select pairs with origin samples on floating object Generated from method MR.ICP.setFltSamples.

◆ setParams()

unsafe void MR.ICP.setParams ( MR.Const_ICPProperties prop)
inline

tune algorithm params before run calculateTransformation() Generated from method MR.ICP.setParams.

◆ setRefSamples()

unsafe void MR.ICP.setRefSamples ( MR.Const_VertBitSet refSamples)
inline

select pairs with origin samples on reference object Generated from method MR.ICP.setRefSamples.

◆ setXfs()

unsafe void MR.ICP.setXfs ( in MR.AffineXf3f fltXf,
in MR.AffineXf3f refXf )
inline

sets to-world transformations both for floating and reference objects Generated from method MR.ICP.setXfs.

◆ updatePointPairs()

unsafe void MR.ICP.updatePointPairs ( )
inline

recompute point pairs after manual change of transformations or parameters Generated from method MR.ICP.updatePointPairs.


The documentation for this class was generated from the following file: