You are here: Start » AVL.NET » 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.Matrix outAlignment, AvlNet.Point3DGrid outAlignedPoints, IList<AvlNet.Point3D> diagPointsWorkingSet, IList<AvlNet.Point3D> diagReferencePointsWorkingSet, IList<List<AvlNet.Segment3D>> diagAttractionSegments )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inPoints | AvlNet.Point3DGrid | Data points to be aligned, may contain background clutter. | |||
inReferencePoints | AvlNet.Point3DGrid | Reference points to align to, may only contain points belonging to the object of interest. | |||
inMaxIterationCount | int | <1, INF> | 100 | Maximal number of iteration for the algorithm. Default value: 100. | |
inMatchFraction | float | <0.0f, 1.0f> | 0.1111111111111111f | Defines fraction of input points that is being fitted in every iteration. Default value: 0.1111111111111111f. | |
inDiscardFurthestFraction | float | <0.0f, 1.0f> | 0.05f | Fraction 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. | |
outAlignment | AvlNet.Matrix | The transform that aligns best the input points to the reference points. | |||
outAlignedPoints | AvlNet.Point3DGrid | The aligned input points. | |||
diagPointsWorkingSet | System.Collections.Generic.IList<AvlNet.Point3D> | inPoints after decimation by inMatchFraction, i.e. points which will be fitted in every iteration. | |||
diagReferencePointsWorkingSet | System.Collections.Generic.IList<AvlNet.Point3D> | inReferencePoints after decimation by inMatchFraction, i.e. points which will be fitted in every iteration. | |||
diagAttractionSegments | System.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. |