LSSTApplications
16.0-10-g4f78f78+16,16.0-10-gc1446dd+42,16.0-11-g09ed895+1,16.0-13-g7649090,16.0-14-g0a28612+1,16.0-14-g6c7ed55+16,16.0-15-ga29f190+1,16.0-16-g89065d4+14,16.0-16-gd8e3590+16,16.0-16-ge6a35c8+6,16.0-17-g7e0e4ff+10,16.0-17-ga3d2e9f,16.0-19-gb830ed4e+16,16.0-2-g0febb12+21,16.0-2-g9d5294e+61,16.0-2-ga8830df+5,16.0-24-gc1c7f52+9,16.0-25-g07af9f2+1,16.0-3-ge00e371+21,16.0-36-g07840cb1,16.0-4-g18f3627+5,16.0-4-g5f3a788+20,16.0-4-ga3eb747+10,16.0-4-gabf74b7+16,16.0-4-gade8416+9,16.0-4-gb13d127+5,16.0-5-g6a53317+21,16.0-5-gb3f8a4b+74,16.0-5-gef99c9f+12,16.0-6-g9321be7+4,16.0-6-gcbc7b31+22,16.0-6-gf49912c+16,16.0-63-gae20905ba,16.0-7-gd2eeba5+31,16.0-8-g21fd5fe+16,16.0-8-g3a9f023+12,16.0-8-g4734f7a,16.0-9-g85d1a16+16,16.0-9-gf5c1f43,master-g07ce7b41a7,w.2018.48
LSSTDataManagementBasePackage
|
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 218 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 91 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, taking only the anti-diagonal upper triangle portion of the passed-in coefficients
coefficients | The polynomial coefficients. | |
[in] | bbox | The bounding box it is valid within, to rescale it to [-1,1]. |
Definition at line 99 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 156 of file PhotometryTransfo.cc.
|
protected |
Set the derivatives of this polynomial at x,y.
For use in the sublcass computeParameterDerivatives() methods.
Definition at line 162 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 245 of file PhotometryTransfo.h.
|
inline |
Definition at line 261 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 254 of file PhotometryTransfo.h.
|
inlineoverridevirtual |
Return the number of parameters (used to compute chisq)
Implements lsst::jointcal::PhotometryTransfo.
Definition at line 248 of file PhotometryTransfo.h.
|
inline |
Definition at line 259 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 142 of file PhotometryTransfo.cc.
double lsst::jointcal::PhotometryTransfoChebyshev::mean | ( | ) | const |
Definition at line 140 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 107 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 58 of file PhotometryTransfo.h.
|
inlineinherited |
Return the transformed valueErr at Point(x,y).
Definition at line 64 of file PhotometryTransfo.h.
|
inlineoverridevirtual |
Return the transformed valueErr at Point(x,y).
Implements lsst::jointcal::PhotometryTransfo.
Definition at line 242 of file PhotometryTransfo.h.