Module imagingbook.common
Class LinearRegressionFit
java.lang.Object
imagingbook.common.geometry.fitting.line.LinearRegressionFit
- All Implemented Interfaces:
LineFit
This class implements line fitting by linear regression to a set of 2D points. See Sec. 10.2.1 of [1] for additional details.
[1] W. Burger, M.J. Burge, Digital Image Processing – An Algorithmic Introduction, 3rd ed, Springer (2022).
- Version:
- 2022/09/29
-
Constructor Summary
ConstructorsConstructorDescriptionLinearRegressionFit(Pnt2d[] points) Constructor, performs a linear regression fit to the specified points. -
Method Summary
Modifier and TypeMethodDescriptiondoublegetD()Returns the intercept parameter d for the fitted line y = k * x + d.doublegetK()Returns the slope parameter k for the fitted line y = k * x + d.double[]Returns the parameters [A, B, C] for theAlgebraicLineassociated with this line fit.intgetSize()Returns the size of the point set used for calculating this line fit.doublegetSquaredRegressionError(Pnt2d[] points) Calculates and returns the sum of the squared differences between the y-coordinates of the data points (xi, yi) and the associated y-value of the regression line (y = k x + d).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.line.LineFit
getLine, getSquaredOrthogonalError
-
Constructor Details
-
LinearRegressionFit
Constructor, performs a linear regression fit to the specified points. At least two different points are required.- Parameters:
points- an array with at least 2 points
-
-
Method Details
-
getSize
Description copied from interface:LineFitReturns the size of the point set used for calculating this line fit. -
getLineParameters
Description copied from interface:LineFitReturns the parameters [A, B, C] for theAlgebraicLineassociated with this line fit. To be implemented by concrete classes.nullis returned if no fit was found.- Specified by:
getLineParametersin interfaceLineFit- Returns:
- algebraic line parameters [A, B, C]
- See Also:
-
getK
Returns the slope parameter k for the fitted line y = k * x + d.- Returns:
- line parameter k
-
getD
Returns the intercept parameter d for the fitted line y = k * x + d.- Returns:
- line parameter d
-
getSquaredRegressionError
Calculates and returns the sum of the squared differences between the y-coordinates of the data points (xi, yi) and the associated y-value of the regression line (y = k x + d).- Parameters:
points- an array of 2D points- Returns:
- the squared regression error
-