lsst.jointcal
16.0-26-g3163dd8+5
|
implements the linear transformations (6 real coefficients). More...
#include <AstrometryTransform.h>
Public Member Functions | |
AstrometryTransformLinear () | |
the default constructor constructs the do-nothing transformation. More... | |
AstrometryTransformLinear (AstrometryTransformPolynomial const &transform) | |
This triggers an exception if P.getOrder() != 1. More... | |
AstrometryTransformLinear | operator* (AstrometryTransformLinear const &right) const |
enables to combine linear tranformations: T1=T2*T3 is legal. More... | |
AstrometryTransformLinear | inverted () const |
returns the inverse: T1 = T2.inverted(); More... | |
void | computeDerivative (Point const &where, AstrometryTransformLinear &derivative, const double step=0.01) const |
specialised analytic routine More... | |
AstrometryTransformLinear | linearApproximation (Point const &where, const double step=0.01) const |
linear (local) approximation. More... | |
AstrometryTransformLinear (const double ox, const double oy, const double aa11, const double aa12, const double aa21, const double aa22) | |
Construct a AstrometryTransformLinear from parameters. More... | |
AstrometryTransformLinear (AstrometryTransformIdentity const &) | |
Handy converter: More... | |
std::unique_ptr< AstrometryTransform > | clone () const |
returns a copy (allocated by new) of the transformation. More... | |
std::unique_ptr< AstrometryTransform > | inverseTransform (const double precision, const Frame ®ion) const |
returns an inverse transform. 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
AstrometryTransform::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... | |
AstrometryTransformPolynomial | operator* (AstrometryTransformPolynomial const &right) const |
Composition (internal stuff in quadruple precision) More... | |
AstrometryTransformPolynomial | operator+ (AstrometryTransformPolynomial const &right) const |
Addition. More... | |
AstrometryTransformPolynomial | operator- (AstrometryTransformPolynomial const &right) const |
Subtraction. More... | |
std::unique_ptr< AstrometryTransform > | composeAndReduce (AstrometryTransformPolynomial const &right) const |
Return a reduced composition of newTransform = this(right()), or nullptr if it cannot be reduced. More... | |
virtual std::unique_ptr< AstrometryTransform > | composeAndReduce (AstrometryTransform const &right) const |
Return a reduced composition of newTransform = 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 |
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< AstrometryTransform > | 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 | AstrometryTransform |
class | AstrometryTransformIdentity |
class | AstrometryTransformPolynomial |
implements the linear transformations (6 real coefficients).
Definition at line 426 of file AstrometryTransform.h.
|
inline |
the default constructor constructs the do-nothing transformation.
Definition at line 431 of file AstrometryTransform.h.
|
explicit |
This triggers an exception if P.getOrder() != 1.
Definition at line 1212 of file AstrometryTransform.cc.
lsst::jointcal::AstrometryTransformLinear::AstrometryTransformLinear | ( | const double | ox, |
const double | oy, | ||
const double | aa11, | ||
const double | aa12, | ||
const double | aa21, | ||
const double | aa22 | ||
) |
Construct a AstrometryTransformLinear from parameters.
Definition at line 1201 of file AstrometryTransform.cc.
|
inline |
Handy converter:
Definition at line 459 of file AstrometryTransform.h.
|
inlineinherited |
Definition at line 94 of file AstrometryTransform.h.
|
inline |
Definition at line 467 of file AstrometryTransform.h.
|
inlineprotected |
Definition at line 475 of file AstrometryTransform.h.
|
inline |
Definition at line 468 of file AstrometryTransform.h.
|
inlineprotected |
Definition at line 476 of file AstrometryTransform.h.
|
inline |
Definition at line 469 of file AstrometryTransform.h.
|
inlineprotected |
Definition at line 477 of file AstrometryTransform.h.
|
inline |
Definition at line 470 of file AstrometryTransform.h.
|
inlineprotected |
Definition at line 478 of file AstrometryTransform.h.
|
inlineinherited |
applies the tranfo to in and writes into out. Is indeed virtual.
Definition at line 71 of file AstrometryTransform.h.
All these apply(..) shadow the virtual one in derived classes, unless one writes "using AstrometryTransform::apply".
Definition at line 75 of file AstrometryTransform.h.
|
inherited |
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 75 of file AstrometryTransform.cc.
|
overridevirtualinherited |
Implements lsst::jointcal::AstrometryTransform.
Definition at line 571 of file AstrometryTransform.cc.
|
inlinevirtual |
returns a copy (allocated by new) of the transformation.
Reimplemented from lsst::jointcal::AstrometryTransformPolynomial.
Definition at line 461 of file AstrometryTransform.h.
|
inherited |
access to coefficients (read only)
Definition at line 739 of file AstrometryTransform.cc.
|
inherited |
write access
Definition at line 748 of file AstrometryTransform.cc.
|
inherited |
read access, zero if beyond order
Definition at line 754 of file AstrometryTransform.cc.
|
virtualinherited |
Return a reduced composition of newTransform = 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::AstrometryTransformIdentity.
Definition at line 93 of file AstrometryTransform.cc.
|
inherited |
Return a reduced composition of newTransform = 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 931 of file AstrometryTransform.cc.
|
virtual |
specialised analytic routine
Reimplemented from lsst::jointcal::AstrometryTransformPolynomial.
Definition at line 1235 of file AstrometryTransform.cc.
|
inherited |
Definition at line 813 of file AstrometryTransform.cc.
|
overridevirtualinherited |
print out of coefficients in a readable form.
Implements lsst::jointcal::AstrometryTransform.
Definition at line 794 of file AstrometryTransform.cc.
|
inline |
Definition at line 471 of file AstrometryTransform.h.
|
inlineprotected |
Definition at line 479 of file AstrometryTransform.h.
|
inline |
Definition at line 472 of file AstrometryTransform.h.
|
inlineprotected |
Definition at line 480 of file AstrometryTransform.h.
|
overridevirtualinherited |
guess what
Implements lsst::jointcal::AstrometryTransform.
Reimplemented in lsst::jointcal::AstrometryTransformLinearRot, and lsst::jointcal::AstrometryTransformLinearShift.
Definition at line 913 of file AstrometryTransform.cc.
|
inlinevirtualinherited |
returns the local jacobian.
Definition at line 110 of file AstrometryTransform.h.
|
virtualinherited |
returns the local jacobian.
Definition at line 98 of file AstrometryTransform.cc.
|
inlineoverridevirtualinherited |
total number of parameters
Reimplemented from lsst::jointcal::AstrometryTransform.
Reimplemented in lsst::jointcal::AstrometryTransformLinearScale, lsst::jointcal::AstrometryTransformLinearRot, and lsst::jointcal::AstrometryTransformLinearShift.
Definition at line 323 of file AstrometryTransform.h.
|
inlineinherited |
Returns the polynomial order.
Definition at line 309 of file AstrometryTransform.h.
|
inherited |
params should be at least Npar() long
Definition at line 215 of file AstrometryTransform.cc.
|
virtual |
returns an inverse transform. Numerical if not overloaded.
precision and region refer to the "input" side of this, and hence to the output side of the returned AstrometryTransform.
Reimplemented from lsst::jointcal::AstrometryTransform.
Definition at line 1273 of file AstrometryTransform.cc.
AstrometryTransformLinear lsst::jointcal::AstrometryTransformLinear::inverted | ( | ) | const |
returns the inverse: T1 = T2.inverted();
Definition at line 1246 of file AstrometryTransform.cc.
|
virtual |
linear (local) approximation.
Reimplemented from lsst::jointcal::AstrometryTransform.
Definition at line 1242 of file AstrometryTransform.cc.
|
inherited |
Definition at line 220 of file AstrometryTransform.cc.
|
inherited |
Composition (internal stuff in quadruple precision)
Definition at line 1036 of file AstrometryTransform.cc.
AstrometryTransformLinear lsst::jointcal::AstrometryTransformLinear::operator* | ( | AstrometryTransformLinear const & | right | ) | const |
enables to combine linear tranformations: T1=T2*T3 is legal.
Definition at line 1220 of file AstrometryTransform.cc.
|
inherited |
Addition.
Definition at line 1058 of file AstrometryTransform.cc.
|
inherited |
Subtraction.
Definition at line 1072 of file AstrometryTransform.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::AstrometryTransform.
Definition at line 774 of file AstrometryTransform.cc.
|
overridevirtualinherited |
Reimplemented from lsst::jointcal::AstrometryTransform.
Definition at line 764 of file AstrometryTransform.cc.
|
overridevirtualinherited |
Reimplemented from lsst::jointcal::AstrometryTransform.
Definition at line 769 of file AstrometryTransform.cc.
|
inherited |
Definition at line 1098 of file AstrometryTransform.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::TanRaDecToPixel, lsst::jointcal::TanPixelToRaDec, and lsst::jointcal::AstrometryTransformInverse.
Definition at line 194 of file AstrometryTransform.cc.
|
overridevirtualinherited |
Create an equivalent AST mapping for this transformation, including an analytic inverse if possible.
domain | The domain of the transform, to help find an inverse. |
Reimplemented from lsst::jointcal::AstrometryTransform.
Definition at line 1083 of file AstrometryTransform.cc.
|
virtualinherited |
transform errors (represented as double[3] in order V(xx),V(yy),Cov(xy))
Definition at line 161 of file AstrometryTransform.cc.
|
overridevirtualinherited |
a mix of apply and Derivative
Reimplemented from lsst::jointcal::AstrometryTransform.
Definition at line 655 of file AstrometryTransform.cc.
|
inlineinherited |
Definition at line 107 of file AstrometryTransform.h.
|
inherited |
Definition at line 245 of file AstrometryTransform.cc.
|
overridevirtualinherited |
Reimplemented from lsst::jointcal::AstrometryTransform.
Definition at line 1088 of file AstrometryTransform.cc.
|
friend |
Definition at line 482 of file AstrometryTransform.h.
|
friend |
Definition at line 483 of file AstrometryTransform.h.
|
friend |
Definition at line 484 of file AstrometryTransform.h.