ImFusion SDK 4.3
GlobalICP Class Reference

#include <ImFusion/Vision/GlobalICP.h>

Global ICP point cloud alignment. More...

Detailed Description

Global ICP point cloud alignment.

Public Member Functions

bool setPointClouds (const std::vector< PointCloud * > &pointClouds)
 Set point clouds. Ownership is not transferred.
 
std::vector< PointCloud * > pointClouds () const
 Get point clouds. Ownership is not transferred.
 
void setScale (int scale)
 
int scale () const
 
void setDistanceThreshold (double t)
 Set distance threshold for point matching.
 
double distanceThreshold () const
 Distance threshold for point matching.
 
void setAngleThreshold (double t)
 Set angle threshold in degrees between normals for point matching.
 
double angleThreshold () const
 Angle threshold in degrees between normals for point matching.
 
void setNeighborhoodSize (int size)
 Set the neighborhood size for computing the alignment error. This is the total number of neighboring point clouds to consider.
 
int neighborhoodSize () const
 Get the neighborhood size for computing the alignment error.
 
void setOverlapThreshold (double t)
 Set the minimum required overlap ratio between point clouds. Point clouds with an overlap ratio below this value will not be aligned.
 
double overlapThreshold () const
 Get the minimum required overlap ratio between point clouds.
 
void setOptimizerType (int type)
 Set the type of the internally used optimizer. This is the same type as in OptimizerNL.
 
int optimizerType () const
 Get the type of the internally used optimizer.
 
void setOptimizerStep (double step)
 Set the step size for the internally used optimizer.
 
double optimizerStep () const
 Get the step size for the internally used optimizer.
 
void setAbortIterations (int iter)
 Abort after a certain number of cost function evaluations.
 
int abortIterations () const
 Get the number of cost function evaluations after which to abort the ICP optimization.
 
void setAbortTime (double sec)
 Abort after a certain elapsed number of seconds.
 
double abortTime () const
 Get the time in seconds after which to abort the ICP optimization.
 
void setAbortParTol (double val)
 Abort if change in parameter values becomes too small.
 
double abortParTol () const
 Get the tolerance for aborting the ICP optimization based on parameter changes.
 
void setUseReciprocalCorrespondences (bool v)
 Set whether to use reciprocal correspondences for alignment. A reciprocal correspondence is a pair of points where each point is the nearest neighbor of the other.
 
bool useReciprocalCorrespondences () const
 Get whether to use reciprocal correspondences for alignment.
 
double rmsError (int *matchedPoints=nullptr)
 Compute alignment RMS error using the current point cloud pose. Takes overlap ratio into account.
 
Eigen::MatrixXd overlapMatrix ()
 Return a matrix containing the estimated overlap between point clouds.
 
bool align ()
 Align point clouds. If the alignment succeeds the matrix of the input point cloud will be updated.
 

The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close