georegression.fitting.ellipse
Class FitEllipseAlgebraic
- java.lang.Object
-
- georegression.fitting.ellipse.FitEllipseAlgebraic
-
public class FitEllipseAlgebraic extends java.lang.ObjectFits an ellipse to a set of points in "closed form" by minimizing algebraic least-squares error. The method used is described in [1] and is a repartitioning of the solution describe in [2], with the aim of improving numerical stability. The found ellipse is described using 6 coefficients, as is shown below.
F(x,y) = a*x^2 + 2*b*x*y + c*y^2 + 2*d*x + 2*e*y + f = 0 and b^2 - 4*ac < 0One peculiarity of this algorithm is that it's less stable when perfect data is provided. This instability became evident when constructing unit tests and some of them failed. Tests on the original Matlab code also failed.
- [1] Radim Halir and Jan Flusser, "Numerically Stable Direct Least Squares Fitting Of Ellipses" 1998
- [2] Fitzgibbon, A. W., Pilu, M and Fischer, R. B.: "Direct least squares fitting of ellipses" Technical Report DAIRP-794, Department of Artificial Intelligence, The University of Edinburgh, January 1996
-
-
Constructor Summary
Constructors Constructor and Description FitEllipseAlgebraic()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description EllipseQuadratic_F64getEllipse()booleanprocess(java.util.List<Point2D_F64> points)
-
-
-
Method Detail
-
process
public boolean process(java.util.List<Point2D_F64> points)
-
getEllipse
public EllipseQuadratic_F64 getEllipse()
-
-
DataMelt 3.0 © DataMelt by jWork.ORG