Package georegression.fitting.curves
Class FitEllipseWeightedAlgebraic_F64
java.lang.Object
georegression.fitting.curves.FitEllipseWeightedAlgebraic_F64
Fits an ellipse to a set of points in "closed form" by minimizing algebraic leastsquares 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 < 0
One 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 DAIRP794, Department of Artificial Intelligence, The University of Edinburgh, January 1996

Constructor Summary

Method Summary
Modifier and TypeMethodDescriptionboolean
process
(List<Point2D_F64> points, double[] weights) Fits the ellipse to the line

Constructor Details

FitEllipseWeightedAlgebraic_F64
public FitEllipseWeightedAlgebraic_F64()


Method Details

process
Fits the ellipse to the line Parameters:
points
 Set of points that are to be fitweights
 Weight or importance of each point. Each weight must be a positive number Returns:
 true if successful or false if it failed

getEllipse
