![]() |
ImFusion SDK 4.3
|
#include <ImFusion/Vision/GlobalICP.h>
Global ICP point cloud alignment. More...
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. | |