Back to FabImage Library website

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

FitPathToStripe3D


Header: FIL.h
Namespace: fil
Module: Vision3DStandard

Performs a series of 1D stripe detections and creates a path from the detected points.

Applications: Tracing of a stripe, whose rough location and shape is known beforehand.

Syntax

C++
C#
 
void fil::FitPathToStripe3D
(
	const fil::Surface& inSurface,
	const fil::PathFittingMap& inFittingMap,
	const StripeScanParams3D& inStripeScanParams,
	fil::Selection::Type inStripeSelection,
	ftl::Optional<const fil::LocalBlindness&> inLocalBlindness,
	ftl::Optional<int> inMaxProfileGapWidth,
	ftl::Optional<int> inMaxPathInterpolationLength,
	ftl::Optional<float> inMaxDeviationDelta,
	float inMaxIncompleteness,
	ftl::Conditional<ftl::Array<fil::Point3D> >& outPath,
	ftl::Conditional<ftl::Array<fil::Point3D> >& outLeftPath,
	ftl::Conditional<ftl::Array<fil::Point3D> >& outRightPath,
	ftl::Optional<ftl::Array<ftl::Conditional<fil::SurfaceStripe1D> >&> outStripes = ftl::NIL,
	ftl::Optional<ftl::Conditional<fil::Profile>&> outDeviationProfile = ftl::NIL,
	ftl::Optional<ftl::Array<fil::Profile>&> outHeightProfiles = ftl::NIL,
	ftl::Optional<ftl::Array<fil::Profile>&> outResponseProfiles = ftl::NIL,
	ftl::Optional<ftl::Conditional<ftl::Array<fil::Segment3D>>&> outPathSegments = ftl::NIL
)

Parameters

Name Type Range Default Description
Input value inSurface const Surface& Surface to fit the path to
Input value inFittingMap const PathFittingMap& Input fitting map
Input value inStripeScanParams const StripeScanParams3D& Parameters controlling the stripe extraction process
Input value inStripeSelection Selection::Type Selection::​Best Selection mode of stripe
Input value inLocalBlindness Optional<const LocalBlindness&> NIL Defines conditions in which weaker edges can be detected in the vicinity of stronger edges
Input value inMaxProfileGapWidth Optional<int> 0 - 1 Maximal number of consecutive not existing profile points
Input value inMaxPathInterpolationLength Optional<int> NIL Maximal number of consecutive points not found
Input value inMaxDeviationDelta Optional<float> 0.0 - NIL Maximal difference between deviations of consecutive path points
Input value inMaxIncompleteness float 0.0 - 0.999 0.1f Maximal fraction of stripe points not found
Output value outPath Conditional<Array<Point3D> >& Fitted path or nothing if the fitting failed
Output value outLeftPath Conditional<Array<Point3D> >& Fitted left path
Output value outRightPath Conditional<Array<Point3D> >& Fitted right path
Output value outStripes Optional<Array<Conditional<SurfaceStripe1D> >&> NIL Found stripes
Output value outDeviationProfile Optional<Conditional<Profile>&> NIL Profile of distances between the actual path points and the corresponding reference path points
Output value outHeightProfiles Optional<Array<Profile>&> NIL Extracted surface height profiles
Output value outResponseProfiles Optional<Array<Profile>&> NIL Profiles of the edge (derivative) operator response
Output value outPathSegments Optional<Conditional<Array<Segment3D>>&> NIL Segments of the fitted path or nothing if the fitting failed

Optional Outputs

The computation of following outputs can be switched off by passing value ftl::NIL to these parameters: outStripes, outDeviationProfile, outHeightProfiles, outResponseProfiles, outPathSegments.

Read more about Optional Outputs.

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.