Class CircleFitKasaC
- All Implemented Interfaces:
CircleFitAlgebraic
CircleFitKasaA for the original version.
This algorithm is assumed to be numerically more stable than solutions based on solving a 3x3 system. The pseudo-inverse is obtained by singular-value decomposition (SVD). However, the significant bias on points sampled from a small circle segment remains. Fits to exactly 3 (non-collinear) points are handled properly. No data centering (which should improve numerical stability) is used.
[1] I. Kåsa. "A circle fitting procedure and its error analysis", IEEE Transactions on Instrumentation and
Measurement 25(1), 8–14 (1976).
[2] N. Chernov. "Circular and Linear Regression: Fitting Circles and Lines by Least Squares". Monographs on
Statistics and Applied Probability. Taylor & Francis (2011).
[3] W. Burger, M.J. Burge, Digital Image Processing – An Algorithmic Introduction, 3rd ed, Springer
(2022).
-
Nested Class Summary
Nested classes/interfaces inherited from interface imagingbook.common.geometry.fitting.circle.algebraic.CircleFitAlgebraic
CircleFitAlgebraic.FitType -
Constructor Summary
ConstructorsConstructorDescriptionCircleFitKasaC(Pnt2d[] points) Constructor.CircleFitKasaC(Pnt2d[] points, Pnt2d xref) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiondouble[]Returns parameters (A, B, C, D) of theAlgebraicCircleornullif the fit was unsuccessful.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface imagingbook.common.geometry.fitting.circle.algebraic.CircleFitAlgebraic
getAlgebraicCircle, getGeometricCircle, normalizeP
-
Constructor Details
-
CircleFitKasaC
Constructor. The centroid of the sample points is used as the reference point.- Parameters:
points- sample points
-
CircleFitKasaC
Constructor. The centroid of the sample points is used as the reference point for data centering ifnullis passed forxref.- Parameters:
points- sample pointsxref- reference point ornull
-
-
Method Details
-
getParameters
Description copied from interface:CircleFitAlgebraicReturns parameters (A, B, C, D) of theAlgebraicCircleornullif the fit was unsuccessful. Parameters are not normalized.- Specified by:
getParametersin interfaceCircleFitAlgebraic- Returns:
- the algebraic circle parameters or
null
-