You are here: Start » FIL.NET » Invoke.FitCircleToEdges3D_Direct

Invoke.FitCircleToEdges3D_Direct

Performs a series of 1D edge detections in 3D and finds a circle that best matches the detected points.

Namespace:Fil
Assembly:FilNet.dll

Syntax

C++
C#
 
public static void FitCircleToEdges3D_Direct
(
	Fil.Surface inSurface,
	Fil.CircleFittingField inFittingField,
	Optional<Fil.CoordinateSystem2D> inFittingFieldAlignment,
	int inScanCount,
	Optional<float> inSamplingStep,
	int inScanWidth,
	Fil.InterpolationMethod inSurfaceInterpolation,
	Fil.EdgeScanParams3D inEdgeScanParams,
	Fil.Selection inEdgeSelection,
	Optional<Fil.LocalBlindness> inLocalBlindness,
	Optional<int> inMaxProfileGapWidth,
	float inMaxIncompleteness,
	Fil.CircleFittingMethod inFittingMethod,
	Optional<Fil.MEstimator> inOutlierSuppression,
	Conditional<Fil.Circle3D> outCircle,
	Optional<List<Conditional<Fil.SurfaceEdge1D>>> outEdges,
	Optional<Conditional<Fil.Profile>> outDeviationProfile,
	Optional<Fil.CircleFittingField> outAlignedFittingField,
	Optional<List<Fil.Point3D>> outInliers,
	Optional<List<Fil.Profile>> outHeightProfiles,
	Optional<List<Fil.Profile>> outResponseProfiles,
	Diagnostic<List<Fil.Segment2D>> diagScanSegments,
	Diagnostic<List<Fil.Rectangle2D>> diagSamplingAreas
)

Parameters

Name Type Range Default Description
inSurfaceFil.SurfaceSurface to fit the circle to.
inFittingFieldFil.CircleFittingFieldCircle fitting field.
inFittingFieldAlignmentFtl.Optional<Fil.CoordinateSystem2D>Adjusts the fitting field to the position of the inspected object. Default value: ftl::NIL.
inScanCountint<3, INF>10The number of points that will be searched to estimate the position of the circle. Default value: 10.
inSamplingStepFtl.Optional<float><0.0f, INF>Desired distance between consecutive sampling points on the scan segments; if Nil, the bigger of surface X and Y scales is chosen. Default value: ftl::NIL.
inScanWidthint<1, INF>5The width of each scan field (in pixels). Default value: 5.
inSurfaceInterpolationFil.InterpolationMethodBilinearInterpolation method used for extraction of surface points. Default value: Bilinear.
inEdgeScanParamsFil.EdgeScanParams3DEdgeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 1.0f MinMagnitude: 5.0f EdgeTransition: LowToHigh )Parameters controlling the edge extraction process. Default value: EdgeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 1.0f MinMagnitude: 5.0f EdgeTransition: LowToHigh ).
inEdgeSelectionFil.SelectionSelection mode of edges.
inLocalBlindnessFtl.Optional<Fil.LocalBlindness>Defines conditions in which weaker edges can be detected in the vicinity of stronger edges. Default value: ftl::NIL.
inMaxProfileGapWidthFtl.Optional<int><0, INF>1Maximal number of consecutive not existing profile points. Default value: 1.
inMaxIncompletenessfloat<0.0f, 0.999f>0.1fMaximal fraction of edge points not found. Default value: 0.1f.
inFittingMethodFil.CircleFittingMethodAlgebraicTaubinMethod used to fit a circle. Default value: AlgebraicTaubin.
inOutlierSuppressionFtl.Optional<Fil.MEstimator>Selects a method for ignoring incorrectly detected points. Default value: ftl::NIL.
outCircleFtl.Conditional<Fil.Circle3D>Fitted circle or nothing if the fitting fails.
outEdgesFtl.Optional<System.Collections.Generic.List<Ftl.Conditional<Fil.SurfaceEdge1D>>>Found edges.
outDeviationProfileFtl.Optional<Ftl.Conditional<Fil.Profile>>Profile of distances between the actual circle points and the corresponding reference circle points.
outAlignedFittingFieldFtl.Optional<Fil.CircleFittingField>Fitting field used; in the image coordinate system.
outInliersFtl.Optional<System.Collections.Generic.List<Fil.Point3D>>Points matching the fitting Circle.
outHeightProfilesFtl.Optional<System.Collections.Generic.List<Fil.Profile>>Extracted surface height profiles.
outResponseProfilesFtl.Optional<System.Collections.Generic.List<Fil.Profile>>Profiles of the edge (derivative) operator response.
diagScanSegmentsFil.Diagnostic<System.Collections.Generic.List<Fil.Segment2D>>Segments along which the scans were run.
diagSamplingAreasFil.Diagnostic<System.Collections.Generic.List<Fil.Rectangle2D>>Areas from which the input image is sampled.

See also