lsst.jointcal
15.0-17-g076ea75+12
|
implements the linear transformations (6 real coefficients). More...
#include <Gtransfo.h>
Public Member Functions | |
GtransfoLin () | |
the default constructor constructs the do-nothing transformation. More... | |
GtransfoLin (GtransfoPoly const >ransfoPoly) | |
This triggers an exception if P.getOrder() != 1. More... | |
GtransfoLin | operator* (GtransfoLin const &right) const |
enables to combine linear tranformations: T1=T2*T3 is legal. More... | |
GtransfoLin | invert () const |
returns the inverse: T1 = T2.invert(); More... | |
void | computeDerivative (Point const &where, GtransfoLin &derivative, const double step=0.01) const |
specialised analytic routine More... | |
GtransfoLin | linearApproximation (Point const &where, const double step=0.01) const |
linear (local) approximation. More... | |
GtransfoLin (const double ox, const double oy, const double aa11, const double aa12, const double aa21, const double aa22) | |
Construct a GtransfoLin from parameters. More... | |
GtransfoLin (GtransfoIdentity const &) | |
Handy converter: More... | |
std::unique_ptr< Gtransfo > | clone () const |
returns a copy (allocated by new) of the transformation. More... | |
std::unique_ptr< Gtransfo > | inverseTransfo (const double precision, const Frame ®ion) const |
returns an inverse transfo. Numerical if not overloaded. More... | |
double | A11 () const |
double | A12 () const |
double | A21 () const |
double | A22 () const |
double | Dx () const |
double | Dy () const |
unsigned | getOrder () const |
Returns the polynomial order. More... | |
void | apply (const double xIn, const double yIn, double &xOut, double &yOut) const override |
void | apply (Point const &in, Point &out) const |
applies the tranfo to in and writes into out. Is indeed virtual. More... | |
Point | apply (Point const &in) const |
All these apply(..) shadow the virtual one in derived classes, unless one writes "using
Gtransfo::apply". More... | |
Frame | apply (Frame const &inputframe, bool inscribed) const |
Transform a bounding box, taking either the inscribed or circumscribed box. More... | |
virtual void | transformPosAndErrors (const FatPoint &in, FatPoint &out) const override |
a mix of apply and Derivative More... | |
int | getNpar () const override |
total number of parameters More... | |
void | dump (std::ostream &stream=std::cout) const override |
print out of coefficients in a readable form. More... | |
double | fit (StarMatchList const &starMatchList) override |
guess what More... | |
GtransfoPoly | operator* (GtransfoPoly const &right) const |
Composition (internal stuff in quadruple precision) More... | |
GtransfoPoly | operator+ (GtransfoPoly const &right) const |
Addition. More... | |
GtransfoPoly | operator- (GtransfoPoly const &right) const |
Subtraction. More... | |
std::unique_ptr< Gtransfo > | composeAndReduce (GtransfoPoly const &right) const |
Return a reduced composition of newTransfo = this(right()), or nullptr if it cannot be reduced. More... | |
virtual std::unique_ptr< Gtransfo > | composeAndReduce (Gtransfo const &right) const |
Return a reduced composition of newTransfo = this(right()), or nullptr if it cannot be reduced. 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 order More... | |
double | determinant () const |
double | paramRef (const int i) const override |
double & | paramRef (const int i) override |
void | paramDerivatives (Point const &where, double *dx, double *dy) const override |
Derivative w.r.t parameters. More... | |
std::shared_ptr< ast::Mapping > | toAstMap (jointcal::Frame const &domain) const override |
Create an equivalent AST mapping for this transformation, including an analytic inverse if possible. More... | |
void | write (std::ostream &s) const override |
void | write (const std::string &fileName) const |
void | read (std::istream &s) |
std::string | __str__ () |
void | transformStar (FatPoint &in) const |
allows to write MyTransfo(MyStar) More... | |
virtual double | getJacobian (Point const &point) const |
returns the local jacobian. More... | |
virtual double | getJacobian (const double x, const double y) const |
returns the local jacobian. More... | |
virtual void | transformErrors (Point const &where, const double *vIn, double *vOut) const |
transform errors (represented as double[3] in order V(xx),V(yy),Cov(xy)) 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... | |
Protected Member Functions | |
double & | a11 () |
double & | a12 () |
double & | a21 () |
double & | a22 () |
double & | dx () |
double & | dy () |
Friends | |
class | Gtransfo |
class | GtransfoIdentity |
class | GtransfoPoly |
implements the linear transformations (6 real coefficients).
Definition at line 391 of file Gtransfo.h.
|
inline |
the default constructor constructs the do-nothing transformation.
Definition at line 396 of file Gtransfo.h.
|
explicit |
This triggers an exception if P.getOrder() != 1.
Definition at line 1148 of file Gtransfo.cc.
lsst::jointcal::GtransfoLin::GtransfoLin | ( | const double | ox, |
const double | oy, | ||
const double | aa11, | ||
const double | aa12, | ||
const double | aa21, | ||
const double | aa22 | ||
) |
Construct a GtransfoLin from parameters.
Definition at line 1137 of file Gtransfo.cc.
|
inline |
Handy converter:
Definition at line 423 of file Gtransfo.h.
|
inlineinherited |
Definition at line 71 of file Gtransfo.h.
|
inline |
Definition at line 429 of file Gtransfo.h.
|
inlineprotected |
Definition at line 437 of file Gtransfo.h.
|
inline |
Definition at line 430 of file Gtransfo.h.
|
inlineprotected |
Definition at line 438 of file Gtransfo.h.
|
inline |
Definition at line 431 of file Gtransfo.h.
|
inlineprotected |
Definition at line 439 of file Gtransfo.h.
|
inline |
Definition at line 432 of file Gtransfo.h.
|
inlineprotected |
Definition at line 440 of file Gtransfo.h.
applies the tranfo to in and writes into out. Is indeed virtual.
Definition at line 48 of file Gtransfo.h.
All these apply(..) shadow the virtual one in derived classes, unless one writes "using Gtransfo::apply".
Definition at line 52 of file Gtransfo.h.
Transform a bounding box, taking either the inscribed or circumscribed box.
[in] | inputframe | The frame to be transformed. |
[in] | inscribed | Return the inscribed (true) or circumscribed (false) box. |
Definition at line 50 of file Gtransfo.cc.
|
overridevirtualinherited |
Implements lsst::jointcal::Gtransfo.
Definition at line 522 of file Gtransfo.cc.
|
inlinevirtual |
returns a copy (allocated by new) of the transformation.
Reimplemented from lsst::jointcal::GtransfoPoly.
Definition at line 425 of file Gtransfo.h.
|
inherited |
access to coefficients (read only)
Definition at line 687 of file Gtransfo.cc.
|
inherited |
write access
Definition at line 695 of file Gtransfo.cc.
|
inherited |
read access, zero if beyond order
Definition at line 700 of file Gtransfo.cc.
|
virtualinherited |
Return a reduced composition of newTransfo = this(right()), or nullptr if it cannot be reduced.
"Reduced" in this context means that they are capable of being merged into a single transform, for example, for two polynomials:
\[ f(x) = 1 + x^2, g(x) = -1 + 3x \]
we would have h = f.composeAndReduce(g) == 2 - 6x + 9x^2
.
To be overloaded by derived classes if they can properly reduce the composition.
right | The transform to apply first. |
Reimplemented in lsst::jointcal::GtransfoIdentity.
Definition at line 68 of file Gtransfo.cc.
|
inherited |
Return a reduced composition of newTransfo = this(right()), or nullptr if it cannot be reduced.
"Reduced" in this context means that they are capable of being merged into a single transform, for example, for two polynomials:
\[ f(x) = 1 + x^2, g(x) = -1 + 3x \]
we would have h = f.composeAndReduce(g) == 2 - 6x + 9x^2
.
To be overloaded by derived classes if they can properly reduce the composition.
right | The transform to apply first. |
Definition at line 874 of file Gtransfo.cc.
|
virtual |
specialised analytic routine
Reimplemented from lsst::jointcal::GtransfoPoly.
Definition at line 1170 of file Gtransfo.cc.
|
inherited |
Definition at line 758 of file Gtransfo.cc.
|
overridevirtualinherited |
print out of coefficients in a readable form.
Implements lsst::jointcal::Gtransfo.
Definition at line 739 of file Gtransfo.cc.
|
inline |
Definition at line 433 of file Gtransfo.h.
|
inlineprotected |
Definition at line 441 of file Gtransfo.h.
|
inline |
Definition at line 434 of file Gtransfo.h.
|
inlineprotected |
Definition at line 442 of file Gtransfo.h.
|
overridevirtualinherited |
guess what
Implements lsst::jointcal::Gtransfo.
Reimplemented in lsst::jointcal::GtransfoLinRot, and lsst::jointcal::GtransfoLinShift.
Definition at line 856 of file Gtransfo.cc.
|
inlinevirtualinherited |
returns the local jacobian.
Definition at line 88 of file Gtransfo.h.
|
virtualinherited |
returns the local jacobian.
Definition at line 73 of file Gtransfo.cc.
|
inlineoverridevirtualinherited |
total number of parameters
Reimplemented from lsst::jointcal::Gtransfo.
Reimplemented in lsst::jointcal::GtransfoLinScale, lsst::jointcal::GtransfoLinRot, and lsst::jointcal::GtransfoLinShift.
Definition at line 293 of file Gtransfo.h.
|
inlineinherited |
Returns the polynomial order.
Definition at line 279 of file Gtransfo.h.
|
inherited |
params should be at least Npar() long
Definition at line 186 of file Gtransfo.cc.
|
virtual |
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 from lsst::jointcal::Gtransfo.
Definition at line 1204 of file Gtransfo.cc.
GtransfoLin lsst::jointcal::GtransfoLin::invert | ( | ) | const |
returns the inverse: T1 = T2.invert();
Definition at line 1178 of file Gtransfo.cc.
|
virtual |
linear (local) approximation.
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 1176 of file Gtransfo.cc.
|
inherited |
Definition at line 191 of file Gtransfo.cc.
|
inherited |
Composition (internal stuff in quadruple precision)
Definition at line 979 of file Gtransfo.cc.
GtransfoLin lsst::jointcal::GtransfoLin::operator* | ( | GtransfoLin const & | right | ) | const |
enables to combine linear tranformations: T1=T2*T3 is legal.
Definition at line 1155 of file Gtransfo.cc.
|
inherited |
Addition.
Definition at line 1000 of file Gtransfo.cc.
|
inherited |
Subtraction.
Definition at line 1013 of file Gtransfo.cc.
|
overridevirtualinherited |
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 719 of file Gtransfo.cc.
|
overridevirtualinherited |
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 709 of file Gtransfo.cc.
|
overridevirtualinherited |
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 714 of file Gtransfo.cc.
|
inherited |
Definition at line 1038 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 166 of file Gtransfo.cc.
|
overridevirtualinherited |
Create an equivalent AST mapping for this transformation, including an analytic inverse if possible.
domain | The domain of the transfo, to help find an inverse. |
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 1023 of file Gtransfo.cc.
|
virtualinherited |
transform errors (represented as double[3] in order V(xx),V(yy),Cov(xy))
Definition at line 133 of file Gtransfo.cc.
|
overridevirtualinherited |
a mix of apply and Derivative
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 603 of file Gtransfo.cc.
|
inlineinherited |
allows to write MyTransfo(MyStar)
Definition at line 85 of file Gtransfo.h.
|
inherited |
Definition at line 215 of file Gtransfo.cc.
|
overridevirtualinherited |
Reimplemented from lsst::jointcal::Gtransfo.
Definition at line 1028 of file Gtransfo.cc.
|
friend |
Definition at line 444 of file Gtransfo.h.
|
friend |
Definition at line 445 of file Gtransfo.h.
|
friend |
Definition at line 446 of file Gtransfo.h.