Back to Adaptive Vision Library website

You are here: Start » Function Reference » Computer Vision » Shape Fitting 3D » FitSegmentToRidges3D

FitSegmentToRidges3D


Header: AVL.h
Namespace: avl
Module: Vision3DStandard

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

Applications: Precise detection of a thin straight line, whose rough location is known beforehand.

Syntax

C++
C#
 
void avl::FitSegmentToRidges3D
(
	const avl::Surface& inSurface,
	const SegmentFittingMap& inFittingMap,
	const RidgeScanParams3D& inRidgeScanParams,
	avl::Selection::Type inRidgeSelection,
	atl::Optional<const avl::LocalBlindness&> inLocalBlindness,
	atl::Optional<int> inMaxProfileGapWidth,
	float inMaxIncompleteness,
	atl::Optional<avl::MEstimator::Type> inOutlierSuppression,
	atl::Conditional<avl::Segment3D>& outSegment,
	atl::Optional<atl::Array<atl::Conditional<avl::SurfaceRidge1D> >&> outRidges = atl::NIL,
	atl::Optional<atl::Conditional<avl::Profile>&> outDeviationProfile = atl::NIL,
	atl::Optional<atl::Array<avl::Point3D>&> outInliers = atl::NIL,
	atl::Array<avl::Profile>& diagHeightProfiles,
	atl::Array<avl::Profile>& diagResponseProfiles
)

Parameters

Name Type Range Default Description
inSurface const Surface& Surface to fit the segment to
inFittingMap const SegmentFittingMap& Input fitting map
inRidgeScanParams const RidgeScanParams3D& Parameters controlling the ridge extraction process
inRidgeSelection Selection::Type SelectionBest Selection mode of ridges
inLocalBlindness Optional<const LocalBlindness&> NIL Defines conditions in which weaker ridges can be detected in the vicinity of stronger ridges
inMaxProfileGapWidth Optional<int> 0 - 1 Maximal number of consecutive not existing profile points
inMaxIncompleteness float 0.0 - 0.999 0.1f Maximal fraction of ridge 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
outRidges Optional<Array<Conditional<SurfaceRidge1D> >&> NIL Found ridges
outDeviationProfile Optional<Conditional<Profile>&> NIL Profile of distances between the actual segment points and the corresponding reference segment points
outInliers Optional<Array<Point3D>&> NIL Points matching the fitting segment
diagHeightProfiles Array<Profile>& Extracted surface height profiles
diagResponseProfiles Array<Profile>& Profiles of the ridge operator response

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outRidges, outDeviationProfile, outInliers.

Read more about Optional Outputs.

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

Errors

List of possible exceptions:

Error type Description
DomainError Ridge operator parameters are too low in surface ridges detector in FitSegmentToRidges3D.