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

Public Member Functions

None __init__ (self, Vector_MeshOrPointsXf_ObjId objects, MultiwayICPSamplingParameters samplingParams)
 
Vector_AffineXf3f_ObjId calculateTransformations (self, func_bool_from_float cb='MR::ProgressCallback{}')
 
Vector_AffineXf3f_ObjId calculateTransformationsFixFirst (self, func_bool_from_float cb='MR::ProgressCallback{}')
 
None devEnableIndependentEquationsMode (self, bool on)
 
bool devIndependentEquationsModeEnabled (self)
 
IICPTreeIndexer getCascadeIndexer (self)
 
float getMeanSqDistToPlane (self, std_optional_double value='std::optional< double >{}')
 
float getMeanSqDistToPoint (self, std_optional_double value='std::optional< double >{}')
 
int getNumActivePairs (self)
 
int getNumSamples (self)
 
Vector_Vector_Vector_ICPGroupPairs_Id_ICPElemtTag_Id_ICPElemtTag_int getPairsPerLayer (self)
 
ICPProperties getParams (self)
 
str getStatusInfo (self)
 
bool resamplePoints (self, MultiwayICPSamplingParameters samplingParams)
 
None setParams (self, ICPProperties prop)
 
None setPerIterationCallback (self, func_void_from_int callback)
 
bool updateAllPointPairs (self, func_bool_from_float cb='MR::ProgressCallback{}')
 

Static Public Attributes

 PairsPerLayer = Vector_Vector_Vector_ICPGroupPairs_Id_ICPElemtTag_Id_ICPElemtTag_int
 

Detailed Description

Generated from:  MR::MultiwayICP

This class allows you to register many objects having similar parts
and known initial approximations of orientations/locations using
Iterative Closest Points (ICP) point-to-point or point-to-plane algorithms

Constructor & Destructor Documentation

◆ __init__()

None meshlib.mrmeshpy.MultiwayICP.__init__ ( self,
Vector_MeshOrPointsXf_ObjId objects,
MultiwayICPSamplingParameters samplingParams )

Member Function Documentation

◆ calculateTransformations()

Vector_AffineXf3f_ObjId meshlib.mrmeshpy.MultiwayICP.calculateTransformations ( self,
func_bool_from_float cb = 'MR::ProgressCallback{}' )
runs ICP algorithm given input objects, transformations, and parameters;
\\return adjusted transformations of all objects to reach registered state
the transformation of the last object is fixed and does not change here

◆ calculateTransformationsFixFirst()

Vector_AffineXf3f_ObjId meshlib.mrmeshpy.MultiwayICP.calculateTransformationsFixFirst ( self,
func_bool_from_float cb = 'MR::ProgressCallback{}' )
runs ICP algorithm given input objects, transformations, and parameters;
\\return adjusted transformations of all objects to reach registered state
the transformation of the first object is fixed and does not change here

◆ devEnableIndependentEquationsMode()

None meshlib.mrmeshpy.MultiwayICP.devEnableIndependentEquationsMode ( self,
bool on )

◆ devIndependentEquationsModeEnabled()

bool meshlib.mrmeshpy.MultiwayICP.devIndependentEquationsModeEnabled ( self)
if in independent equations mode - creates separate equation system for each object
otherwise creates single large equation system for all objects

◆ getCascadeIndexer()

IICPTreeIndexer meshlib.mrmeshpy.MultiwayICP.getCascadeIndexer ( self)
returns pointer to class that is used to navigate among layers of cascade registration
if nullptr - cascade mode is not used

◆ getMeanSqDistToPlane()

float meshlib.mrmeshpy.MultiwayICP.getMeanSqDistToPlane ( self,
std_optional_double value = 'std::optional<double>{}' )
computes root-mean-square deviation from points to target planes
or the standard deviation from given value if present

◆ getMeanSqDistToPoint()

float meshlib.mrmeshpy.MultiwayICP.getMeanSqDistToPoint ( self,
std_optional_double value = 'std::optional<double>{}' )
computes root-mean-square deviation between points
or the standard deviation from given value if present

◆ getNumActivePairs()

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

◆ getNumSamples()

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

◆ getPairsPerLayer()

Vector_Vector_Vector_ICPGroupPairs_Id_ICPElemtTag_Id_ICPElemtTag_int meshlib.mrmeshpy.MultiwayICP.getPairsPerLayer ( self)
returns all pairs of all layers

◆ getParams()

ICPProperties meshlib.mrmeshpy.MultiwayICP.getParams ( self)

◆ getStatusInfo()

str meshlib.mrmeshpy.MultiwayICP.getStatusInfo ( self)
returns status info string

◆ resamplePoints()

bool meshlib.mrmeshpy.MultiwayICP.resamplePoints ( self,
MultiwayICPSamplingParameters samplingParams )
select pairs with origin samples on all objects

◆ setParams()

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

◆ setPerIterationCallback()

None meshlib.mrmeshpy.MultiwayICP.setPerIterationCallback ( self,
func_void_from_int callback )
sets callback that will be called for each iteration

◆ updateAllPointPairs()

bool meshlib.mrmeshpy.MultiwayICP.updateAllPointPairs ( self,
func_bool_from_float cb = 'MR::ProgressCallback{}' )
in each pair updates the target data and performs basic filtering (activation)
in cascade mode only useful for stats update

Member Data Documentation

◆ PairsPerLayer

meshlib.mrmeshpy.MultiwayICP.PairsPerLayer = Vector_Vector_Vector_ICPGroupPairs_Id_ICPElemtTag_Id_ICPElemtTag_int
static

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