public class FitEllipseWeightedAlgebraic_F64 extends java.lang.Object
Fits an ellipse to a set of points in "closed form" by minimizing algebraic least-squares error. The method used is
described in  and is a repartitioning of the solution describe in , 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.
|Constructor and Description|
|Modifier and Type||Method and Description|
Fits the ellipse to the line
public boolean process(java.util.List<Point2D_F64> points, double weights)
points- Set of points that are to be fit
weights- Weight or importance of each point. Each weight must be a positive number
public EllipseQuadratic_F64 getEllipse()
Copyright © 2011-2019 Peter Abeles