Back to Adaptive Vision Library website

You are here: Start » Function Reference » Shape Fitting 3D » AvsFilter_FitSegmentToEdges3D

AvsFilter_FitSegmentToEdges3D


This is Filter Equivalent. This function may be present in generated code, but should not be used in hand-written code.

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

Syntax

void avs::AvsFilter_FitSegmentToEdges3D
(
	FitSegmentToEdges3DState& ioState,
	const avl::Surface& inSurface,
	const avl::SegmentFittingField& inFittingField,
	atl::Optional<const avl::CoordinateSystem2D&> inFittingFieldAlignment,
	int inScanCount,
	int inScanWidth,
	const avl::InterpolationMethod::Type inImageInterpolation,
	const avl::EdgeScanParams3D& inEdgeScanParams,
	avl::Selection::Type inEdgeSelection,
	atl::Optional<const avl::LocalBlindness&> inLocalBlindness,
	atl::Optional<int> inMaxInterpolationLength,
	float inMaxIncompleteness,
	atl::Optional<avl::MEstimator::Type> inOutlierSuppression,
	atl::Conditional<avl::Segment3D>& outSegment,
	atl::Optional<atl::Array<atl::Conditional<avl::SurfaceEdge1D> >&> outEdges = atl::NIL,
	atl::Optional<atl::Conditional<avl::Profile>&> outDeviationProfile = atl::NIL,
	atl::Optional<avl::SegmentFittingField&> outAlignedFittingField = atl::NIL,
	atl::Array<avl::Segment2D>& diagScanSegments,
	atl::Array<avl::Rectangle2D>& diagSamplingAreas,
	atl::Array<avl::Profile>& diagBrightnessProfiles,
	atl::Array<avl::Profile>& diagResponseProfiles
)

Parameters

Name Type Range Default Description
ioState FitSegmentToEdges3DState& Object used to maintain state of the function.
inSurface const Surface& Surface to fit segment to
inFittingField const SegmentFittingField& Segment fitting field
inFittingFieldAlignment Optional<const CoordinateSystem2D&> NIL Adjusts the fitting field to the position of the inspected object
inScanCount int 3 - 10 The number of points that will be searched to estimate the position of the segment
inScanWidth int 1 - 5 The width of each scan field (in pixels)
inImageInterpolation const InterpolationMethod::Type Bilinear Interpolation method used for extraction of image pixel values
inEdgeScanParams const EdgeScanParams3D& EdgeScanParams3D ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 1.0f MinMagnitude: 5.0f EdgeTransition: LowToHigh ) Parameters controlling the edge extraction process
inEdgeSelection Selection::Type Selection mode of edges
inLocalBlindness Optional<const LocalBlindness&> NIL Defines conditions in which weaker edges can be detected in the vicinity of stronger edges
inMaxInterpolationLength Optional<int> 0 - NIL Maximal number of consecutive not existing profile points
inMaxIncompleteness float 0.0 - 0.999 0.1f Maximal fraction of edge points not found
inOutlierSuppression Optional<MEstimator::Type> NIL Selects a method for ignoring incorrectly detected points
outSegment Conditional<Segment3D>& Fitted segment or nothing if the fitting fails
outEdges Optional<Array<Conditional<SurfaceEdge1D> >&> NIL Found edges
outDeviationProfile Optional<Conditional<Profile>&> NIL Profile of distances between the actual segment points and the corresponding reference segment points
outAlignedFittingField Optional<SegmentFittingField&> NIL Fitting field used; in the image coordinate system
diagScanSegments Array<Segment2D>& Segments along which the scans were run
diagSamplingAreas Array<Rectangle2D>& Areas from which the input image is sampled
diagBrightnessProfiles Array<Profile>& Extracted image profiles
diagResponseProfiles Array<Profile>& Profiles of the edge (derivative) operator response

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.