A single tolerance parameter is presented.
Relative to the seed point, the “ExtractPlane” function tries to grow a plane (or other geometry) and as it grows, it filters out points that are not within this plane tolerance. If data is fairly planar then there is a good chance that the correct set of planar cloud points will be harvested with a tight tolerance. However, if you pick a seed point in a region with adjacent points that are not clearly planar then the plane may start off in a bad orientation. Larger tolerances will increase the likelihood of getting the correct orientation but include more outlier points in the fit. Therefore an optimal balance must be found.
Acceptance criteria for a “good” circle (currently hard coded values included here only as a reference) :
RMS <= 0.1 * radius
MAX Pt Dev<= 4 * tolerance
Number of points >= 10
Radius / (max cloud dimension) < 4
Tolerance <= 0.1 * Radius (not used when filtering to nominal geometry)