Back to FabImage Library website

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

FitCircleToSurfaceHole


Header: FIL.h
Namespace: fil
Module: Vision3DStandard

Fits a circle to a hole in a surface plane.

Syntax

C++
C#
 
void fil::FitCircleToSurfaceHole
(
	const fil::Surface& inSurface,
	ftl::Optional<const fil::Region&> inRoi,
	fil::MEstimator::Type inPlaneOutlierSuppression,
	float inClippingFactor,
	int inIterationCount,
	ftl::Optional<const fil::Plane3D&> inInitialPlane,
	fil::CircleFittingMethod::Type inCircleFittingMethod,
	ftl::Optional<fil::MEstimator::Type> inCircleOutlierSuppression,
	ftl::Conditional<fil::Circle3D>& outCircle3D,
	fil::Plane3D& outPlane,
	ftl::Optional<ftl::Array<fil::Point3D>&> outInliers = ftl::NIL,
	ftl::Optional<ftl::Array<float>&> outDistances = ftl::NIL,
	ftl::Optional<float&> outSignedDistanceSum = ftl::NIL,
	ftl::Optional<float&> outDistanceSum = ftl::NIL,
	ftl::Optional<ftl::Array<float>&> outSquaredDistances = ftl::NIL,
	ftl::Optional<float&> outSquaredDistanceSum = ftl::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 ftl::NIL to these parameters: outInliers, outDistances, outSignedDistanceSum, outDistanceSum, outSquaredDistances, outSquaredDistanceSum.

Read more about Optional Outputs.