lsst.meas.astrom 22.0.1-15-gbe41b4f+7403745020
Public Member Functions | List of all members
lsst::meas::astrom::sip::LeastSqFitter2d< FittingFunc > Class Template Reference

Fit an lsst::afw::math::Function1 object to a set of data points in two dimensions. More...

#include <LeastSqFitter2d.h>

Public Member Functions

 LeastSqFitter2d (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z, const std::vector< double > &s, int order)
 Fit a 2d polynomial to a set of data points z(x, y) More...
 
Eigen::MatrixXd getParams ()
 Build up a triangular matrix of the parameters. More...
 
Eigen::MatrixXd getErrors ()
 Companion function to getParams(). Returns uncertainties in the parameters as a matrix. More...
 
double valueAt (double x, double y)
 Return the value of the best fit function at a given position (x,y) More...
 
std::vector< double > residuals ()
 Return a vector of residuals of the fit (i.e the difference between the input z values, and the value of the fitting function at that point. More...
 
double getChiSq ()
 Return a measure of the goodness of fit. More...
 
double getReducedChiSq ()
 Return a measure of the goodness of fit. More...
 

Detailed Description

template<class FittingFunc>
class lsst::meas::astrom::sip::LeastSqFitter2d< FittingFunc >

Fit an lsst::afw::math::Function1 object to a set of data points in two dimensions.

The class is templated over the kind of object to fit. Note that we fit the 1d object in each dimension, not the 2d one.

Input is a list of x and y ordinates for a set of points, the z coordinate, and the uncertainties, s. order is order of the polynomial to fit (e.g if the templated function is lsst::afw::math::PolynomialFunction1, then order=3 => fit a function of the form \(ax^2+bx+c\)

Template Parameters
FittingFuncThe 1d function to fit in both dimensions. Must inherit from lsst::afw::math::Function1
Parameters
xOrdinate of points to fit
yOrdinate of points to fit
zCo-ordinate of pionts to fit
s1 \(\sigma\) uncertainties in z
orderPolynomial order to fit
See also
LeastSqFitter1d

Definition at line 65 of file LeastSqFitter2d.h.

Constructor & Destructor Documentation

◆ LeastSqFitter2d()

template<class FittingFunc >
lsst::meas::astrom::sip::LeastSqFitter2d< FittingFunc >::LeastSqFitter2d ( const std::vector< double > &  x,
const std::vector< double > &  y,
const std::vector< double > &  z,
const std::vector< double > &  s,
int  order 
)

Fit a 2d polynomial to a set of data points z(x, y)

Template Parameters
FittingFuncThe type of function to fit in each dimension. This function should extend the base class of lsst::afw::math::Function1. Note that this is a 1d function
Parameters
xvector of x positions of data
yvector of y positions of data
zValue of data for a given x,y. \(z = z_i = z_i(x_i, y_i)\)
sVector of measured uncertainties in the values of z
orderOrder of 2d function to fit

Definition at line 109 of file LeastSqFitter2d.h.

Member Function Documentation

◆ getChiSq()

template<class FittingFunc >
double lsst::meas::astrom::sip::LeastSqFitter2d< FittingFunc >::getChiSq

Return a measure of the goodness of fit.

\[ \chi^2 = \sum \left( \frac{z_i - f(x_i, y_i)}{s_i} \right)^2 \]

Definition at line 186 of file LeastSqFitter2d.h.

◆ getErrors()

template<class FittingFunc >
Eigen::MatrixXd lsst::meas::astrom::sip::LeastSqFitter2d< FittingFunc >::getErrors

Companion function to getParams(). Returns uncertainties in the parameters as a matrix.

Definition at line 235 of file LeastSqFitter2d.h.

◆ getParams()

template<class FittingFunc >
Eigen::MatrixXd lsst::meas::astrom::sip::LeastSqFitter2d< FittingFunc >::getParams

Build up a triangular matrix of the parameters.

The shape of the matrix is such that the values correspond to the coefficients of the following polynomials
1 y y^2 y^3
x xy xy^2 0
x^2 x^2y 0 0
x^3 0 0 0
(order==4)
where row x column < order

Definition at line 166 of file LeastSqFitter2d.h.

◆ getReducedChiSq()

template<class FittingFunc >
double lsst::meas::astrom::sip::LeastSqFitter2d< FittingFunc >::getReducedChiSq

Return a measure of the goodness of fit.

\[ \chi_r^2 = \sum \left( \frac{z_i - f(x_i, y_i)}{s} \right)^2 \div (N-p) \]

Where \( N \) is the number of data points, and \( p \) is the number of parameters in the fit

Definition at line 203 of file LeastSqFitter2d.h.

◆ residuals()

template<class FittingFunc >
std::vector< double > lsst::meas::astrom::sip::LeastSqFitter2d< FittingFunc >::residuals

Return a vector of residuals of the fit (i.e the difference between the input z values, and the value of the fitting function at that point.

Definition at line 222 of file LeastSqFitter2d.h.

◆ valueAt()

template<class FittingFunc >
double lsst::meas::astrom::sip::LeastSqFitter2d< FittingFunc >::valueAt ( double  x,
double  y 
)

Return the value of the best fit function at a given position (x,y)

Definition at line 209 of file LeastSqFitter2d.h.


The documentation for this class was generated from the following file: