fast::IterativeClosestPoint class

Registration of two meshes using ICP algorithm.

Base classes

class ProcessObject
Abstract base class for all process objects.

Public types

enum TransformationType { RIGID, TRANSLATION }

Constructors, destructors, conversion operators

FAST_CONNECT(IterativeClosestPoint, Moving, 1)

Public functions

auto create(TransformationType type, int maxIterations, float minErrorChange, float distanceThreshold, int randomSamplingPoints) FAST_CONNECT(IterativeClosestPoint -> std::shared_ptr<IterativeClosestPoint>
Create instance.
void setFixedMeshPort(DataChannel::pointer port)
void setFixedMesh(Mesh::pointer data)
void setMovingMeshPort(DataChannel::pointer port)
void setMovingMesh(Mesh::pointer data)
void setTransformationType(const IterativeClosestPoint::TransformationType type)
auto getOutputTransformation() -> Transform::pointer
auto getError() const -> float
void setMinimumErrorChange(float errorChange)
void setMaximumNrOfIterations(uint iterations)
void setRandomPointSampling(uint nrOfPointsToSample)
void setDistanceThreshold(float distance)

Public variables

Fixed

Private functions

void execute() virtual

Function documentation

std::shared_ptr<IterativeClosestPoint> fast::IterativeClosestPoint::create(TransformationType type, int maxIterations, float minErrorChange, float distanceThreshold, int randomSamplingPoints) FAST_CONNECT(IterativeClosestPoint

Create instance.

Parameters
type The type of transformation
maxIterations Maximum nr of iterations to run
minErrorChange Stopping criterion. If change in error is less than this number for an iteration, ICP will stop.
distanceThreshold If specified, do not accept points that are further away than this threshold.
randomSamplingPoints If specified, ICP will sample this many points at random to match instead of all points.
Returns instance