lsst.jointcal
14.0-28-ge87de3a
|
Polynomial transformation class. More...
#include <Gtransfo.h>
Public Member Functions | |
GtransfoPoly (const unsigned degree=1) | |
Default transfo : identity for all degrees (>=1 ). More... | |
GtransfoPoly (const Gtransfo *gtransfo, const Frame &frame, unsigned degree, unsigned nPoint=1000) | |
Constructs a "polynomial image" from an existing transfo, over a specified domain. More... | |
void | setDegree (const unsigned degree) |
void | apply (const double xIn, const double yIn, double &xOut, double &yOut) const |
void | computeDerivative (const Point &where, GtransfoLin &derivative, const double step=0.01) const |
specialised analytic routine More... | |
virtual void | transformPosAndErrors (const FatPoint &in, FatPoint &out) const |
a mix of apply and Derivative More... | |
unsigned | getDegree () const |
returns degree More... | |
int | getNpar () const |
total number of parameters More... | |
void | dump (std::ostream &stream=std::cout) const |
print out of coefficients in a readable form. More... | |
double | fit (const StarMatchList &starMatchList) |
guess what More... | |
GtransfoPoly | operator* (const GtransfoPoly &right) const |
Composition (internal stuff in quadruple precision) More... | |
GtransfoPoly | operator+ (const GtransfoPoly &right) const |
Addition. More... | |
GtransfoPoly | operator- (const GtransfoPoly &right) const |
Subtraction. More... | |
std::unique_ptr< Gtransfo > | reduceCompo (const Gtransfo *right) const |
to be overloaded by derived classes if they can really "reduce" the composition (e.g. More... | |
std::unique_ptr< Gtransfo > | clone () const |
returns a copy (allocated by new) of the transformation. More... | |
double | coeff (const unsigned powX, const unsigned powY, const unsigned whichCoord) const |
access to coefficients (read only) More... | |
double & | coeff (const unsigned powX, const unsigned powY, const unsigned whichCoord) |
write access More... | |
double | coeffOrZero (const unsigned powX, const unsigned powY, const unsigned whichCoord) const |
read access, zero if beyond degree More... | |
double | determinant () const |
double | paramRef (const int i) const |
double & | paramRef (const int i) |
void | paramDerivatives (const Point &where, double *dx, double *dy) const |
Derivative w.r.t parameters. More... | |
void | write (std::ostream &s) const |
void | read (std::istream &s) |
void | apply (const Point &in, Point &out) const |
applies the tranfo to in and writes into out. Is indeed virtual. More... | |
Point | apply (const Point &in) const |
All these apply(..) shadow the virtual one in derived classes, unless one writes "using
Gtransfo::apply". More... | |
std::string | __str__ () |
void | transformStar (FatPoint &in) const |
allows to write MyTransfo(MyStar) More... | |
virtual double | getJacobian (const Point &point) const |
returns the local jacobian. More... | |
virtual double | getJacobian (const double x, const double y) const |
returns the local jacobian. More... | |
virtual GtransfoLin | linearApproximation (const Point &where, const double step=0.01) const |
linear (local) approximation. More... | |
virtual void | transformErrors (const Point &where, const double *vIn, double *vOut) const |
transform errors (represented as double[3] in order V(xx),V(yy),Cov(xy)) More... | |
virtual std::unique_ptr< Gtransfo > | inverseTransfo (const double precision, const Frame ®ion) const |
returns an inverse transfo. Numerical if not overloaded. More... | |
void | getParams (double *params) const |
params should be at least Npar() long More... | |
void | offsetParams (Eigen::VectorXd const &delta) |
virtual std::unique_ptr< Gtransfo > | roughInverse (const Frame ®ion) const |
Rough inverse. More... | |
void | write (const std::string &fileName) const |
Polynomial transformation class.
Definition at line 195 of file Gtransfo.h.
lsst::jointcal::GtransfoPoly::GtransfoPoly | ( | const unsigned | degree = 1 | ) |
Default transfo : identity for all degrees (>=1 ).
Default transfo : identity for all degrees (>=1 )
The degree refers to the highest total power (x+y) of monomials.
Definition at line 409 of file Gtransfo.cc.
lsst::jointcal::GtransfoPoly::GtransfoPoly | ( | const Gtransfo * | gtransfo, |
const Frame & | frame, | ||
unsigned | degree, | ||
unsigned | nPoint = 1000 |
||
) |
Constructs a "polynomial image" from an existing transfo, over a specified domain.
Definition at line 422 of file Gtransfo.cc.
|
inlineinherited |
Definition at line 60 of file Gtransfo.h.
applies the tranfo to in and writes into out. Is indeed virtual.
Definition at line 47 of file Gtransfo.h.
All these apply(..) shadow the virtual one in derived classes, unless one writes "using Gtransfo::apply".
Definition at line 51 of file Gtransfo.h.
|
virtual |
Implements lsst::jointcal::Gtransfo.
Definition at line 486 of file Gtransfo.cc.
|
inlinevirtual |
returns a copy (allocated by new) of the transformation.
Implements lsst::jointcal::Gtransfo.
Reimplemented in lsst::jointcal::GtransfoLin.
Definition at line 240 of file Gtransfo.h.
double lsst::jointcal::GtransfoPoly::coeff | ( | const unsigned | powX, |
const unsigned | powY, | ||
const unsigned | whichCoord | ||
) | const |
access to coefficients (read only)
Definition at line 651 of file Gtransfo.cc.
double & lsst::jointcal::GtransfoPoly::coeff | ( | const unsigned | powX, |
const unsigned | powY, | ||
const unsigned | whichCoord | ||
) |
write access
Definition at line 659 of file Gtransfo.cc.
double lsst::jointcal::GtransfoPoly::coeffOrZero | ( | const unsigned | powX, |
const unsigned | powY, | ||
const unsigned | whichCoord | ||
) | const |
read access, zero if beyond degree
Definition at line 664 of file Gtransfo.cc.
|
virtual |
specialised analytic routine
Reimplemented from lsst::jointcal::Gtransfo.
Reimplemented in lsst::jointcal::GtransfoLin.
Definition at line 509 of file Gtransfo.cc.
double lsst::jointcal::GtransfoPoly::determinant | ( | ) | const |
Definition at line 719 of file Gtransfo.cc.
|
virtual |
print out of coefficients in a readable form.
Implements lsst::jointcal::Gtransfo.
Definition at line 703 of file Gtransfo.cc.
|
virtual |
guess what
Implements lsst::jointcal::Gtransfo.
Reimplemented in lsst::jointcal::GtransfoLinRot, and lsst::jointcal::GtransfoLinShift.
Definition at line 817 of file Gtransfo.cc.
|
inline |
returns degree
Definition at line 218 of file Gtransfo.h.
|
inlinevirtualinherited |
returns the local jacobian.
Definition at line 77 of file Gtransfo.h.
|
virtualinherited |
returns the local jacobian.
Definition at line 57 of file Gtransfo.cc.
|
inlinevirtual |
total number of parameters
Reimplemented from lsst::jointcal::Gtransfo.
Reimplemented in lsst::jointcal::GtransfoLinScale, lsst::jointcal::GtransfoLinRot, and lsst::jointcal::GtransfoLinShift.
Definition at line 221 of file Gtransfo.h.
|
inherited |
params should be at least Npar() long
Definition at line 170 of file Gtransfo.cc.
|
virtualinherited |
returns an inverse transfo. Numerical if not overloaded.
precision and region refer to the "input" side of this, and hence to the output side of the returned Gtransfo.
Reimplemented in lsst::jointcal::TanRaDec2Pix, lsst::jointcal::TanSipPix2RaDec, lsst::jointcal::TanPix2RaDec, lsst::jointcal::GtransfoLin, and lsst::jointcal::GtransfoInverse.
Definition at line 252 of file Gtransfo.cc.
|
virtualinherited |
linear (local) approximation.
Reimplemented in lsst::jointcal::GtransfoLin, and lsst::jointcal::GtransfoIdentity.
Definition at line 93 of file Gtransfo.cc.
|
inherited |
Definition at line 175 of file Gtransfo.cc.
GtransfoPoly lsst::jointcal::GtransfoPoly::operator* | ( | const GtransfoPoly & | right | ) | const |
Composition (internal stuff in quadruple precision)
Definition at line 944 of file Gtransfo.cc.
GtransfoPoly lsst::jointcal::GtransfoPoly::operator+ | ( | const GtransfoPoly & | right | ) | const |
Addition.
Definition at line 965 of file Gtransfo.cc.
GtransfoPoly lsst::jointcal::GtransfoPoly::operator- | ( | const GtransfoPoly & | right | ) | const |
Subtraction.
Definition at line 978 of file Gtransfo.cc.
|
virtual |
Derivative w.r.t parameters.
Derivatives should be al least 2*NPar long. first Npar, for x, last Npar for y.
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 683 of file Gtransfo.cc.
|
virtual |
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 673 of file Gtransfo.cc.
|
virtual |
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 678 of file Gtransfo.cc.
void lsst::jointcal::GtransfoPoly::read | ( | std::istream & | s | ) |
Definition at line 998 of file Gtransfo.cc.
|
virtual |
to be overloaded by derived classes if they can really "reduce" the composition (e.g.
composition of Polynomial can be reduced)
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 835 of file Gtransfo.cc.
|
virtualinherited |
Rough inverse.
Stored by the numerical inverter to guess starting point for the trials. Just here to enable overloading.
Reimplemented in lsst::jointcal::TanRaDec2Pix, lsst::jointcal::TanPix2RaDec, and lsst::jointcal::GtransfoInverse.
Definition at line 150 of file Gtransfo.cc.
void lsst::jointcal::GtransfoPoly::setDegree | ( | const unsigned | degree | ) |
Definition at line 465 of file Gtransfo.cc.
|
virtualinherited |
transform errors (represented as double[3] in order V(xx),V(yy),Cov(xy))
Definition at line 117 of file Gtransfo.cc.
|
virtual |
a mix of apply and Derivative
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 567 of file Gtransfo.cc.
|
inlineinherited |
allows to write MyTransfo(MyStar)
Definition at line 74 of file Gtransfo.h.
|
inherited |
Definition at line 199 of file Gtransfo.cc.
|
virtual |
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 988 of file Gtransfo.cc.