Back to Adaptive Vision Library website
You are here: Start » Function Reference » Shape Fitting 3D » FitCircleToStripe3D
FitCircleToStripe3D
Performs a series of 1D edge detections and finds a circle that best matches the detected points.
Header: | AVL.h |
---|
Syntax
C++
C#
void avl::FitCircleToStripe3D ( const avl::Surface& inSurface, const CircleFittingMap& inFittingMap, const StripeScanParams3D& inStripeScanParams, avl::Selection::Type inStripeSelection, atl::Optional<const avl::LocalBlindness&> inLocalBlindness, atl::Optional<int> inMaxProfileGapWidth, float inMaxIncompleteness, avl::CircleFittingMethod::Type inFittingMethod, atl::Optional<avl::MEstimator::Type> inOutlierSuppression, atl::Conditional<avl::Circle3D>& outCircle, atl::Conditional<avl::Circle3D>& outInnerCircle, atl::Conditional<avl::Circle3D>& outOuterCircle, atl::Optional<atl::Array<atl::Conditional<avl::SurfaceStripe1D> >&> outStripes = atl::NIL, atl::Optional<atl::Array<avl::Point3D>&> outStripePoints = atl::NIL, atl::Optional<atl::Conditional<avl::Profile>&> outDeviationProfile = 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 circle to | |||
inFittingMap | const CircleFittingMap& | Input fitting map | |||
inStripeScanParams | const StripeScanParams3D& | Parameters controlling the stripe extraction process | |||
inStripeSelection | Selection::Type | Selection::Best | Selection mode of stripe | ||
inLocalBlindness | Optional<const LocalBlindness&> | NIL | Defines conditions in which weaker edges can be detected in the vicinity of stronger edges | ||
inMaxProfileGapWidth | Optional<int> | 0 - | NIL | Maximal number of consecutive not existing profile points | |
inMaxIncompleteness | float | 0.0 - 0.999 | 0.1f | Maximal fraction of stripe points not found | |
inFittingMethod | CircleFittingMethod::Type | AlgebraicTaubin | Method used to fit a circle | ||
inOutlierSuppression | Optional<MEstimator::Type> | NIL | Selects a method for ignoring incorrectly detected points | ||
outCircle | Conditional<Circle3D>& | Fitted circle in the middle of found stripe or nothing if the fitting fails | |||
outInnerCircle | Conditional<Circle3D>& | Fitted inner circle | |||
outOuterCircle | Conditional<Circle3D>& | Fitted outer circle | |||
outStripes | Optional<Array<Conditional<SurfaceStripe1D> >&> | NIL | Found stripes | ||
outStripePoints | Optional<Array<Point3D>&> | NIL | Extracted points of middle circle of a surface stripe | ||
outDeviationProfile | Optional<Conditional<Profile>&> | NIL | Profile of distances between the actual circle points and the corresponding reference circle points | ||
diagHeightProfiles | Array<Profile>& | Extracted surface height profiles | |||
diagResponseProfiles | Array<Profile>& | Profiles of the edge (derivative) operator response |
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.