lsst.jointcal
16.0-17-g0bdc215+6
|
nth-order 2d Chebyshev photometry transfo. More...
#include <PhotometryTransfo.h>
Public Member Functions | |
PhotometryTransfoChebyshev (size_t order, afw::geom::Box2D const &bbox, bool identity) | |
Create a Chebyshev transfo with terms up to order 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 | transformError (double x, double y, double value, double valueErr) const override |
Return the transformed valueErr at Point(x,y). 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... | |
ndarray::Array< double, 2, 2 > | getCoefficients () const |
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 | getOrder () const |
afw::geom::Box2D | getBBox () const |
double | mean () const |
virtual double | transform (double x, double y, double value) const =0 |
Return the transform of value at (x,y). More... | |
double | transform (Point const &in, double value) const |
Return the transformed value at Point(x,y). More... | |
double | transformError (Point const &in, double value, double valueErr) const |
Return the transformed valueErr at Point(x,y). More... | |
virtual std::shared_ptr< PhotometryTransfo > | clone () const =0 |
return a copy (allocated by new) of the transformation. More... | |
virtual void | computeParameterDerivatives (double x, double y, double value, Eigen::Ref< Eigen::VectorXd > derivatives) const =0 |
Compute the derivatives with respect to the parameters (i.e. More... | |
Protected Member Functions | |
double | computeChebyshev (double x, double y) const |
Return the value of this polynomial at x,y. More... | |
void | computeChebyshevDerivatives (double x, double y, Eigen::Ref< Eigen::VectorXd > derivatives) const |
Set the derivatives of this polynomial at x,y. More... | |
nth-order 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 order Chebyshev polynomial of \(x\) and \(a_{i,j}\) is the corresponding coefficient of the (i,j) polynomial term.
Note that the polynomial order=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 195 of file PhotometryTransfo.h.
lsst::jointcal::PhotometryTransfoChebyshev::PhotometryTransfoChebyshev | ( | size_t | order, |
afw::geom::Box2D const & | bbox, | ||
bool | identity | ||
) |
Create a Chebyshev transfo with terms up to order in (x*y).
[in] | order | The maximum order in (x*y). |
[in] | bbox | The bounding box it is valid within, to rescale it to [-1,1]. |
[in] | identity | If true, set a_0,0==1, otherwise all coefficients are 0. |
Definition at line 67 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 order 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 75 of file PhotometryTransfo.cc.
|
pure virtualinherited |
return a copy (allocated by new) of the transformation.
Implemented in lsst::jointcal::MagnitudeTransfoChebyshev, lsst::jointcal::FluxTransfoChebyshev, lsst::jointcal::MagnitudeTransfoSpatiallyInvariant, and lsst::jointcal::FluxTransfoSpatiallyInvariant.
|
protected |
Return the value of this polynomial at x,y.
For use in the sublcass transform() methods.
Definition at line 132 of file PhotometryTransfo.cc.
|
protected |
Set the derivatives of this polynomial at x,y.
For use in the sublcass computeParameterDerivatives() methods.
Definition at line 138 of file PhotometryTransfo.cc.
|
pure virtualinherited |
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] | value | The instrument flux or magnitude to compute the derivative at. |
[out] | derivatives | The computed derivatives, in the same order as the deltas in offsetParams. |
Implemented in lsst::jointcal::MagnitudeTransfoChebyshev, lsst::jointcal::FluxTransfoChebyshev, lsst::jointcal::MagnitudeTransfoSpatiallyInvariant, and lsst::jointcal::FluxTransfoSpatiallyInvariant.
|
inlineoverridevirtual |
dumps the transfo coefficients to stream.
Implements lsst::jointcal::PhotometryTransfo.
Definition at line 221 of file PhotometryTransfo.h.
|
inline |
Definition at line 237 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 230 of file PhotometryTransfo.h.
|
inlineoverridevirtual |
Return the number of parameters (used to compute chisq)
Implements lsst::jointcal::PhotometryTransfo.
Definition at line 224 of file PhotometryTransfo.h.
|
inline |
Definition at line 235 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 118 of file PhotometryTransfo.cc.
double lsst::jointcal::PhotometryTransfoChebyshev::mean | ( | ) | const |
Definition at line 116 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 83 of file PhotometryTransfo.cc.
|
pure virtualinherited |
Return the transform of value at (x,y).
Implemented in lsst::jointcal::MagnitudeTransfoChebyshev, lsst::jointcal::FluxTransfoChebyshev, lsst::jointcal::MagnitudeTransfoSpatiallyInvariant, and lsst::jointcal::FluxTransfoSpatiallyInvariant.
|
inlineinherited |
Return the transformed value at Point(x,y).
Definition at line 35 of file PhotometryTransfo.h.
|
inlineinherited |
Return the transformed valueErr at Point(x,y).
Definition at line 41 of file PhotometryTransfo.h.
|
inlineoverridevirtual |
Return the transformed valueErr at Point(x,y).
Implements lsst::jointcal::PhotometryTransfo.
Definition at line 218 of file PhotometryTransfo.h.