MeshLib JavaScript Docs
Loading...
Searching...
No Matches

parameters of ICP algorithm More...

Public Member Functions

 ICPProperties ()

Public Attributes

ICPMethod method
 The method how to update transformation from point pairs, see description of each option in ICPMethod.
number p2plAngleLimit
number p2plScaleLimit
number cosThreshold
number distThresholdSq
number farDistFactor
ICPMode icpMode
number iterLimit
number badIterStopCount
number exitVal
boolean mutualClosest
boolean ignoreBdTgts
 if this flag is true and a source point finds its correspondence on a boundary of target object, then ignores such pair
Vector3f fixedRotationAxis
 Additional parameter for ICPMode::OrthogonalAxis and ICPMode::FixedAxis transformation groups.

Detailed Description

parameters of ICP algorithm

Constructor & Destructor Documentation

◆ ICPProperties()

ICPProperties::ICPProperties ( )

Member Data Documentation

◆ badIterStopCount

number ICPProperties::badIterStopCount

The algorithm will stop before making all (iterLimit) iterations, if there were consecutive (badIterStopCount) iterations, during which the average distance between points in active pairs did not diminish.

◆ cosThreshold

number ICPProperties::cosThreshold

If source and target points in a pair both have normals, then dot-product of normals must be not smaller than (cosThreshold), otherwise such point pair will be deactivated (ignored) during transformation computation. This is to get rid of erroneous pairs on unrelated parts of objects, which are close only by chance.

◆ distThresholdSq

number ICPProperties::distThresholdSq

The squared distance between source and target points in a pair must be not greater than (distThresholdSq), otherwise such point pair will be deactivated (ignored) during transformation computation. This is to get rid of outliers in input objects.

◆ exitVal

number ICPProperties::exitVal

The algorithm will stop before making all (iterLimit) iterations, if the average distance between points in active pairs became smaller than this value.

◆ farDistFactor

number ICPProperties::farDistFactor

First, root-mean-square distance between points in all active pairs is computed as D. Then, the distance between source and target points in a pair must be not greater than (farDistFactor * D), otherwise such point pair will be deactivated (ignored) during transformation computation. This is to progressively reduce the distance threshold as the algorithm converge to a solution.

◆ fixedRotationAxis

Vector3f ICPProperties::fixedRotationAxis

Additional parameter for ICPMode::OrthogonalAxis and ICPMode::FixedAxis transformation groups.

◆ icpMode

ICPMode ICPProperties::icpMode

Selects the group of transformations, where to find a solution (e.g. with scaling or without, with rotation or without, ...). See the description of each option in ICPMode.

◆ ignoreBdTgts

boolean ICPProperties::ignoreBdTgts

if this flag is true and a source point finds its correspondence on a boundary of target object, then ignores such pair

◆ iterLimit

number ICPProperties::iterLimit

The maximum number of iterations that the algorithm can perform. Increase this parameter if you need a higher precision or if initial approximation is not very precise.

◆ method

ICPMethod ICPProperties::method

The method how to update transformation from point pairs, see description of each option in ICPMethod.

◆ mutualClosest

boolean ICPProperties::mutualClosest

A pair of points is activated only if both points in the pair are mutually closest (reciprocity test passed), some papers recommend this mode for filtering out wrong pairs, but it can be too aggressive and deactivate (almost) all pairs.

◆ p2plAngleLimit

number ICPProperties::p2plAngleLimit

Rotation angle during one iteration of ICPMethod::PointToPlane will be limited by this value. This is to reduce possible instability.

◆ p2plScaleLimit

number ICPProperties::p2plScaleLimit

Scaling during one iteration of ICPMethod::PointToPlane will be limited by this value. This is to reduce possible instability.


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