Back to Adaptive Vision Library website

You are here: Start » Function Reference » Surface » Surface Fitting » FitCircleToSurfaceHole

FitCircleToSurfaceHole


Header: AVL.h
Namespace: avl
Module: Vision3DStandard

Fits a circle to a hole in a surface plane.

Syntax

C++
C#
 
void avl::FitCircleToSurfaceHole
(
	const avl::Surface& inSurface,
	atl::Optional<const avl::Region&> inRoi,
	avl::MEstimator::Type inPlaneOutlierSuppression,
	float inClippingFactor,
	int inIterationCount,
	atl::Optional<const avl::Plane3D&> inInitialPlane,
	avl::CircleFittingMethod::Type inCircleFittingMethod,
	atl::Optional<avl::MEstimator::Type> inCircleOutlierSuppression,
	atl::Conditional<avl::Circle3D>& outCircle3D,
	avl::Plane3D& outPlane,
	atl::Optional<atl::Array<avl::Point3D>&> outInliers = atl::NIL,
	atl::Optional<atl::Array<float>&> outDistances = atl::NIL,
	atl::Optional<float&> outSignedDistanceSum = atl::NIL,
	atl::Optional<float&> outDistanceSum = atl::NIL,
	atl::Optional<atl::Array<float>&> outSquaredDistances = atl::NIL,
	atl::Optional<float&> outSquaredDistanceSum = atl::NIL
)

Parameters

Name Type Range Default Description
inSurface const Surface& Input surface
inRoi Optional<const Region&> NIL Region of interest
inPlaneOutlierSuppression MEstimator::Type Selects a method for ignoring points not lying on the fitted plane
inClippingFactor float 0.675 - 6.0 2.5f Multitude of standard deviation within which points are considered inliers
inIterationCount int 0 - 5 Number of iterations of outlier suppressing algorithm
inInitialPlane Optional<const Plane3D&> NIL Initial approximation of a plane (if available)
inCircleFittingMethod CircleFittingMethod::Type Select a method for fitting a circle to a set of points
inCircleOutlierSuppression Optional<MEstimator::Type> NIL Selects a method for ignoring points not lying on the fitted circle
outCircle3D Conditional<Circle3D>& Circle fitted to a surface hole
outPlane Plane3D& Plane fitted to the surface points
outInliers Optional<Array<Point3D>&> NIL Points matching the computed plane
outDistances Optional<Array<float>&> NIL Distances of the input surface points to a resulting plane
outSignedDistanceSum Optional<float&> NIL Sum of signed distances of the input surface points to a resulting plane
outDistanceSum Optional<float&> NIL Sum of distances of the input surface points to a resulting plane
outSquaredDistances Optional<Array<float>&> NIL Squared distances of the input surface points to a resulting plane
outSquaredDistanceSum Optional<float&> NIL Sum of squared distances of the input surface points to a resulting plane

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outInliers, outDistances, outSignedDistanceSum, outDistanceSum, outSquaredDistances, outSquaredDistanceSum.

Read more about Optional Outputs.