MeshLib Python Docs
Loading...
Searching...
No Matches
meshlib.mrmeshpy.ICP Class Reference

Public Member Functions

None __init__ (self, MeshOrPoints flt, MeshOrPoints ref, AffineXf3f fltXf, AffineXf3f refXf, VertBitSet fltSamples='MR::VertBitSet{}', VertBitSet refSamples='MR::VertBitSet{}')
 
None __init__ (self, MeshOrPointsXf flt, MeshOrPointsXf ref, VertBitSet fltSamples='MR::VertBitSet{}', VertBitSet refSamples='MR::VertBitSet{}')
 
None __init__ (self, MeshOrPoints flt, MeshOrPoints ref, AffineXf3f fltXf, AffineXf3f refXf, float samplingVoxelSize)
 
None __init__ (self, MeshOrPointsXf flt, MeshOrPointsXf ref, float samplingVoxelSize)
 
None __init__ (self, ICP arg0)
 
AffineXf3f autoSelectFloatXf (self)
 
AffineXf3f calculateTransformation (self)
 
PointPairs getFlt2RefPairs (self)
 
str getLastICPInfo (self)
 
float getMeanSqDistToPlane (self)
 
float getMeanSqDistToPoint (self)
 
int getNumActivePairs (self)
 
int getNumSamples (self)
 
ICPProperties getParams (self)
 
PointPairs getRef2FltPairs (self)
 
str getStatusInfo (self)
 
None recomputeBitSet (self, float fltSamplingVoxelSize)
 
None sampleFltPoints (self, float samplingVoxelSize)
 
None samplePoints (self, float samplingVoxelSize)
 
None sampleRefPoints (self, float samplingVoxelSize)
 
None setBadIterCount (self, int iter)
 
None setCosineLimit (self, float cos)
 
None setDistanceLimit (self, float dist)
 
None setFarDistFactor (self, float factor)
 
None setFloatXf (self, AffineXf3f fltXf)
 
None setFltSamples (self, VertBitSet fltSamples)
 
None setParams (self, ICPProperties prop)
 
None setRefSamples (self, VertBitSet refSamples)
 
None setXfs (self, AffineXf3f fltXf, AffineXf3f refXf)
 
None updatePointPairs (self)
 

Detailed Description

Generated from:  MR::ICP

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

Constructor & Destructor Documentation

◆ __init__() [1/5]

None meshlib.mrmeshpy.ICP.__init__ ( self,
MeshOrPoints flt,
MeshOrPoints ref,
AffineXf3f fltXf,
AffineXf3f refXf,
VertBitSet fltSamples = 'MR::VertBitSet{}',
VertBitSet refSamples = 'MR::VertBitSet{}' )
Constructs ICP framework with given sample points on both objects
\\param flt floating object
\\param ref reference object
\\param fltXf transformation from floating object space to global space
\\param refXf transformation from reference object space to global space
\\param fltSamples samples on floating object to find projections on the reference object during the algorithm
\\param refSamples samples on reference object to find projections on the floating object during the algorithm

◆ __init__() [2/5]

None meshlib.mrmeshpy.ICP.__init__ ( self,
MeshOrPointsXf flt,
MeshOrPointsXf ref,
VertBitSet fltSamples = 'MR::VertBitSet{}',
VertBitSet refSamples = 'MR::VertBitSet{}' )

◆ __init__() [3/5]

None meshlib.mrmeshpy.ICP.__init__ ( self,
MeshOrPoints flt,
MeshOrPoints ref,
AffineXf3f fltXf,
AffineXf3f refXf,
float samplingVoxelSize )
Constructs ICP framework with automatic points sampling on both objects
\\param flt floating object
\\param ref reference object
\\param fltXf transformation from floating object space to global space
\\param refXf transformation from reference object space to global space
\\param samplingVoxelSize approximate distance between samples on each of two objects

◆ __init__() [4/5]

None meshlib.mrmeshpy.ICP.__init__ ( self,
MeshOrPointsXf flt,
MeshOrPointsXf ref,
float samplingVoxelSize )

◆ __init__() [5/5]

None meshlib.mrmeshpy.ICP.__init__ ( self,
ICP arg0 )
Implicit copy constructor.

Member Function Documentation

◆ autoSelectFloatXf()

AffineXf3f meshlib.mrmeshpy.ICP.autoSelectFloatXf ( self)
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

◆ calculateTransformation()

AffineXf3f meshlib.mrmeshpy.ICP.calculateTransformation ( self)
runs ICP algorithm given input objects, transformations, and parameters;
\\return adjusted transformation of the floating object to match reference object

◆ getFlt2RefPairs()

PointPairs meshlib.mrmeshpy.ICP.getFlt2RefPairs ( self)
returns current pairs formed from samples on floating object and projections on reference object

◆ getLastICPInfo()

str meshlib.mrmeshpy.ICP.getLastICPInfo ( self)

◆ getMeanSqDistToPlane()

float meshlib.mrmeshpy.ICP.getMeanSqDistToPlane ( self)
computes root-mean-square deviation from points to target planes

◆ getMeanSqDistToPoint()

float meshlib.mrmeshpy.ICP.getMeanSqDistToPoint ( self)
computes root-mean-square deviation between points

◆ getNumActivePairs()

int meshlib.mrmeshpy.ICP.getNumActivePairs ( self)
computes the number of active point pairs

◆ getNumSamples()

int meshlib.mrmeshpy.ICP.getNumSamples ( self)
computes the number of samples able to form pairs

◆ getParams()

ICPProperties meshlib.mrmeshpy.ICP.getParams ( self)

◆ getRef2FltPairs()

PointPairs meshlib.mrmeshpy.ICP.getRef2FltPairs ( self)
returns current pairs formed from samples on reference object and projections on floating object

◆ getStatusInfo()

str meshlib.mrmeshpy.ICP.getStatusInfo ( self)

◆ recomputeBitSet()

None meshlib.mrmeshpy.ICP.recomputeBitSet ( self,
float fltSamplingVoxelSize )

◆ sampleFltPoints()

None meshlib.mrmeshpy.ICP.sampleFltPoints ( self,
float samplingVoxelSize )

◆ samplePoints()

None meshlib.mrmeshpy.ICP.samplePoints ( self,
float samplingVoxelSize )
select pairs with origin samples on both objects

◆ sampleRefPoints()

None meshlib.mrmeshpy.ICP.sampleRefPoints ( self,
float samplingVoxelSize )

◆ setBadIterCount()

None meshlib.mrmeshpy.ICP.setBadIterCount ( self,
int iter )

◆ setCosineLimit()

None meshlib.mrmeshpy.ICP.setCosineLimit ( self,
float cos )

◆ setDistanceLimit()

None meshlib.mrmeshpy.ICP.setDistanceLimit ( self,
float dist )

◆ setFarDistFactor()

None meshlib.mrmeshpy.ICP.setFarDistFactor ( self,
float factor )

◆ setFloatXf()

None meshlib.mrmeshpy.ICP.setFloatXf ( self,
AffineXf3f fltXf )
sets to-world transformation for the floating object

◆ setFltSamples()

None meshlib.mrmeshpy.ICP.setFltSamples ( self,
VertBitSet fltSamples )
select pairs with origin samples on floating object

◆ setParams()

None meshlib.mrmeshpy.ICP.setParams ( self,
ICPProperties prop )
tune algorithm params before run calculateTransformation()

◆ setRefSamples()

None meshlib.mrmeshpy.ICP.setRefSamples ( self,
VertBitSet refSamples )
select pairs with origin samples on reference object

◆ setXfs()

None meshlib.mrmeshpy.ICP.setXfs ( self,
AffineXf3f fltXf,
AffineXf3f refXf )
sets to-world transformations both for floating and reference objects

◆ updatePointPairs()

None meshlib.mrmeshpy.ICP.updatePointPairs ( self)
recompute point pairs after manual change of transformations or parameters

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