Start » Filter Reference » Point3DGrid » Point3DGrid Fitting » AdjustPointGrids3D
Module: | Vision3DStandard |
---|
Aligns (rotation + translation) a point grid to match best the reference point grid.
Name | Type | Range | Description | |
---|---|---|---|---|
inPoints | Point3DGrid | Data points to be aligned, may contain background clutter. | ||
inReferencePoints | Point3DGrid | Reference points to align to, may only contain points belonging to the object of interest. | ||
inMaxIterationCount | Integer | 1 - | Maximal number of iteration for the algorithm | |
inMatchFraction | Real | 0.0 - 1.0 | Defines fraction of input points that is being fitted in every iteration | |
inDiscardFurthestFraction | Real | 0.0 - 1.0 | 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. | |
outAlignedPoints | Point3DGrid | The aligned input points | ||
outAlignment | Matrix | The transform that aligns best the input points to the reference points | ||
diagPointsWorkingSet | Point3DArray | inPoints after decimation by inMatchFraction, i.e. points which will be fitted in every iteration | ||
diagReferencePointsWorkingSet | Point3DArray | inReferencePoints after decimation by inMatchFraction, i.e. points which will be fitted in every iteration | ||
diagAttractionSegments | Segment3DArrayArray | 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. |
Hints
- Usually the inPoints Point3DGrid data contains an object with background - a flat plate or some other clutter. The filter handles such cases, however its best to remove this clutter beforehand. Note: The inReferencePoints input must contain only points belonging to the object.
- The filter can not be used as a pattern localization tool, as it performs well only when adjustments to be made are relatively small. For problems where large adjustments are needed (especially rotations) the filter may fail.
Errors
This filter can throw an exception to report error. Read how to deal with errors in Error Handling.
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Input point array is empty in AdjustPointGrids3D. |
Complexity Level
This filter is available on Advanced Complexity Level.