fit_circle_contour_xldfit_circle_contour_xldFitCircleContourXldFitCircleContourXldfit_circle_contour_xld approximates the XLD contours
ContoursContoursContourscontourscontours by circles. It does not perform a segmentation of
the input contours. Thus, one has to make sure that each contour
corresponds to one and only one circle. The operator returns for
each contour the center (RowRowRowrowrow, ColumnColumnColumncolumncolumn), and the
RadiusRadiusRadiusradiusradius.
This approach minimizes the algebraic distance between the contour
points and the resulting circle.
'ahuber'"ahuber""ahuber""ahuber""ahuber"
Similar to 'algebraic'"algebraic""algebraic""algebraic""algebraic". Here the contour points are weighted to
decrease the impact of outliers based on the approach of Huber
(see below).
'atukey'"atukey""atukey""atukey""atukey"
Similar to 'algebraic'"algebraic""algebraic""algebraic""algebraic". Here the contour points are weighted
and outliers are ignored based
on the approach of Tukey
(see below).
This approach minimizes the geometric distance
between the contour points and the resulting circle.
The distance measure is statistically optimal, but takes more
computational time.
This option is recommended if the contour
points are considerably distorted by noise.
Similar to 'geometric'"geometric""geometric""geometric""geometric". Here the contour points are weighted
to decrease the impact of outliers based on
the approach of Huber (see below).
Similar to 'geometric'"geometric""geometric""geometric""geometric". Here the contour points are weighted
and outliers are ignored based on
the approach of Tukey (see below).
For '*huber' and '*tukey' a robust error statistics is used to estimate the
standard deviation of the distances from the contour points without
outliers from the approximating circle. The parameter
ClippingFactorClippingFactorClippingFactorclippingFactorclipping_factor (a scaling factor for the standard deviation)
controls the amount of outliers: the smaller the value chosen for
ClippingFactorClippingFactorClippingFactorclippingFactorclipping_factor the more outliers are detected. In the Tukey
algorithm outliers are removed, whereas in the Huber algorithm
outliers are only damped, or more precisely they are weighted linearly.
Without any robust weighting the squares of the distances are taken as
error values in the optimization, i.e., a least square formulation.
In practice, the approach of Tukey is recommended.
The parameter IterationsIterationsIterationsiterationsiterations specifies the number of iterations for the
algorithms 'algebraic'"algebraic""algebraic""algebraic""algebraic", 'ahuber'"ahuber""ahuber""ahuber""ahuber" and 'atukey'"atukey""atukey""atukey""atukey".
This parameter is ignored for the algorithms 'geometric'"geometric""geometric""geometric""geometric",
'geohuber'"geohuber""geohuber""geohuber""geohuber" and 'geotukey'"geotukey""geotukey""geotukey""geotukey".
If IterationsIterationsIterationsiterationsiterations is set to zero, the algorithm does
not perform iterative improvements on the fitted circle, but only checks if
the initial guess was already close enough depending on the chosen treatment
of outliers.
The minimum necessary number of contour points for fitting a circle
is three.
Therefore, it is required that the number of contour points is at least
.
Execution Information
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
List of values:
'ahuber'"ahuber""ahuber""ahuber""ahuber", 'algebraic'"algebraic""algebraic""algebraic""algebraic", 'atukey'"atukey""atukey""atukey""atukey", 'geohuber'"geohuber""geohuber""geohuber""geohuber", 'geometric'"geometric""geometric""geometric""geometric", 'geotukey'"geotukey""geotukey""geotukey""geotukey"