You are here: Start » AVL.NET » Function Reference » Point3DGrid » Point3DGrid Fitting » AVL.AdjustPointGrids3D

AVL.AdjustPointGrids3D

Aligns (rotation + translation) a point grid to match best the reference point grid.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void AdjustPointGrids3D
(
	AvlNet.Point3DGrid inPoints,
	AvlNet.Point3DGrid inReferencePoints,
	int inMaxIterationCount,
	float inMatchFraction,
	float inDiscardFurthestFraction,
	AvlNet.Point3DGrid outAlignedPoints,
	AvlNet.Matrix outAlignment,
	IList<AvlNet.Point3D> diagPointsWorkingSet,
	IList<AvlNet.Point3D> diagReferencePointsWorkingSet,
	IList<List<AvlNet.Segment3D>> diagAttractionSegments
)

Parameters

Name Type Range Default Description
inPointsAvlNet.Point3DGridData points to be aligned, may contain background clutter.
inReferencePointsAvlNet.Point3DGridReference points to align to, may only contain points belonging to the object of interest.
inMaxIterationCountint<1, INF>100Maximal number of iteration for the algorithm. Default value: 100.
inMatchFractionfloat<0.0f, 1.0f>0.1111111111111111fDefines fraction of input points that is being fitted in every iteration. Default value: 0.1111111111111111f.
inDiscardFurthestFractionfloat<0.0f, 1.0f>0.05fFraction of point pairs to be discarded during internal ICP loop. Furthest pairs are discarded, and only in last 10% of algorithm iterations. Useful for handling outliers in the inReferencePoints, as well as gaps/holes in the inPoints data. Default value: 0.05f.
outAlignedPointsAvlNet.Point3DGridThe aligned input points.
outAlignmentAvlNet.MatrixThe transform that aligns best the input points to the reference points.
diagPointsWorkingSetSystem.Collections.Generic.IList<AvlNet.Point3D>inPoints after decimation by inMatchFraction, i.e. points which will be fitted in every iteration.
diagReferencePointsWorkingSetSystem.Collections.Generic.IList<AvlNet.Point3D>inReferencePoints after decimation by inMatchFraction, i.e. points which will be fitted in every iteration.
diagAttractionSegmentsSystem.Collections.Generic.IList<System.Collections.Generic.List<AvlNet.Segment3D>>Attraction segments from every iteration. Note that the algorithm internally moves inReferencePoints towards inPoints (and returns inverse transformation), so the segments show movement of reference towards data.

Errors

List of possible exceptions:

Error type Description
DomainError Input point array is empty in AdjustPointGrids3D.

Function Overrides

See also