lsst.jointcal
14.0-26-gc4bc114+6
|
nth-degree 2d Chebyshev photometry transfo. More...
#include <PhotometryTransfo.h>
Public Member Functions | |
PhotometryTransfoChebyshev (size_t degree, afw::geom::Box2D const &bbox) | |
Create an identity (a_0,0==1) Chebyshev transfo with terms up to degree in (x*y). More... | |
PhotometryTransfoChebyshev (ndarray::Array< double, 2, 2 > const &coefficients, afw::geom::Box2D const &bbox) | |
Create a Chebyshev transfo with the specified coefficients. More... | |
double | transform (double x, double y, double instFlux) const override |
Apply the transform to instFlux at (x,y), put result in flux. More... | |
void | dump (std::ostream &stream=std::cout) const override |
dumps the transfo coefficients to stream. More... | |
int | getNpar () const override |
Return the number of parameters (used to compute chisq) More... | |
void | offsetParams (Eigen::VectorXd const &delta) override |
Offset the parameters by some (negative) amount during fitting. More... | |
std::shared_ptr< PhotometryTransfo > | clone () const override |
return a copy (allocated by new) of the transformation. More... | |
void | computeParameterDerivatives (double x, double y, double instFlux, Eigen::Ref< Eigen::VectorXd > derivatives) const override |
Compute the derivatives with respect to the parameters (i.e. More... | |
ndarray::Array< double, 2, 2 > | getCoefficients () |
Get a copy of the coefficients of the polynomials, as a 2d array (NOTE: layout is [y][x]) More... | |
Eigen::VectorXd | getParameters () const override |
Get a copy of the parameters of this model, in the same order as offsetParams . More... | |
ndarray::Size | getDegree () const |
afw::geom::Box2D | getBBox () const |
double | mean () const |
double | transform (Point const &in, double instFlux) const |
Return the transformed instFlux at (x,y). More... | |
nth-degree 2d Chebyshev photometry transfo.
The 2-d Chebyshev polynomial used here is defined as:
\[ f(x,y) = \sum_i \sum_j a_{i,j} T_i(x) T_j(y) \]
where \(T_n(x)\) is the n-th degree Chebyshev polynomial of \(x\) and \(a_{i,j}\) is the corresponding coefficient of the (i,j) polynomial term.
Note that the polynomial degree=n means that the highest terms will be of the form:
\[ a_{0,n}*x^n*y^0, a_{n-1,1}*x^(n-1)*y^1, ..., a_{1,n-1}*x^1*y^(n-1), a_{n,0}*x^0*y^n \]
Definition at line 148 of file PhotometryTransfo.h.
lsst::jointcal::PhotometryTransfoChebyshev::PhotometryTransfoChebyshev | ( | size_t | degree, |
afw::geom::Box2D const & | bbox | ||
) |
Create an identity (a_0,0==1) Chebyshev transfo with terms up to degree in (x*y).
[in] | degree | The maximum degree in (x*y). |
[in] | bbox | The bounding box it is valid within, to rescale it to [-1,1]. |
Definition at line 65 of file PhotometryTransfo.cc.
lsst::jointcal::PhotometryTransfoChebyshev::PhotometryTransfoChebyshev | ( | ndarray::Array< double, 2, 2 > const & | coefficients, |
afw::geom::Box2D const & | bbox | ||
) |
Create a Chebyshev transfo with the specified coefficients.
The polynomial degree is determined from the number of coefficients.
coefficients | The polynomial coefficients. | |
[in] | bbox | The bounding box it is valid within, to rescale it to [-1,1]. |
Definition at line 72 of file PhotometryTransfo.cc.
|
inlineoverridevirtual |
return a copy (allocated by new) of the transformation.
Implements lsst::jointcal::PhotometryTransfo.
Definition at line 182 of file PhotometryTransfo.h.
|
overridevirtual |
Compute the derivatives with respect to the parameters (i.e.
the coefficients).
[in] | x | The x coordinate to compute at (in the appropriate units for this transfo). |
[in] | y | The y coordinate to compute at (in the appropriate units for this transfo). |
[in] | instFlux | The instrument flux to compute the derivative at. |
[out] | derivatives | The computed derivatives, in the same order as the deltas in offsetParams. |
Implements lsst::jointcal::PhotometryTransfo.
Definition at line 121 of file PhotometryTransfo.cc.
|
inlineoverridevirtual |
dumps the transfo coefficients to stream.
Implements lsst::jointcal::PhotometryTransfo.
Definition at line 173 of file PhotometryTransfo.h.
|
inline |
Definition at line 198 of file PhotometryTransfo.h.
|
inline |
Get a copy of the coefficients of the polynomials, as a 2d array (NOTE: layout is [y][x])
Definition at line 191 of file PhotometryTransfo.h.
|
inline |
Definition at line 196 of file PhotometryTransfo.h.
|
inlineoverridevirtual |
Return the number of parameters (used to compute chisq)
Reimplemented from lsst::jointcal::PhotometryTransfo.
Definition at line 176 of file PhotometryTransfo.h.
|
overridevirtual |
Get a copy of the parameters of this model, in the same order as offsetParams
.
Implements lsst::jointcal::PhotometryTransfo.
Definition at line 149 of file PhotometryTransfo.cc.
double lsst::jointcal::PhotometryTransfoChebyshev::mean | ( | ) | const |
Definition at line 119 of file PhotometryTransfo.cc.
|
overridevirtual |
Offset the parameters by some (negative) amount during fitting.
Equivalent to flatten(parameters) -= delta
Ordering of delta is the same as the ordering of the derivatives returned from computeParameterDerivatives
.
Implements lsst::jointcal::PhotometryTransfo.
Definition at line 86 of file PhotometryTransfo.cc.
|
inlineinherited |
Return the transformed instFlux at (x,y).
Definition at line 39 of file PhotometryTransfo.h.
|
overridevirtual |
Apply the transform to instFlux at (x,y), put result in flux.
Implements lsst::jointcal::PhotometryTransfo.
Definition at line 80 of file PhotometryTransfo.cc.