LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
|
Implements the (forward) SIP distorsion scheme. More...
#include <AstrometryTransform.h>
Public Member Functions | |
TanSipPixelToRaDec (AstrometryTransformLinear const &pixToTan, Point const &tangentPoint, const AstrometryTransformPolynomial *corrections=nullptr) | |
pixToTan describes the transform from pix to tangent plane (degrees). | |
AstrometryTransformPolynomial | getPixelToTangentPlane () const |
the transformation from pixels to tangent plane (degrees) | |
virtual void | pixToTangentPlane (double xPixel, double yPixel, double &xTangentPlane, double &yTangentPlane) const |
transforms from pixel space to tangent plane (degrees) | |
TanSipPixelToRaDec () | |
std::unique_ptr< AstrometryTransform > | inverseTransform (double precision, const Frame ®ion) const |
Inverse transform: returns a TanRaDecToPixel if there are no corrections, or the iterative solver if there are. | |
std::unique_ptr< AstrometryTransform > | clone () const |
returns a copy (allocated by new) of the transformation. | |
void | print (std::ostream &out) const |
prints the transform coefficients to stream. | |
double | fit (StarMatchList const &starMatchList) |
Not implemented yet, because we do it otherwise. | |
void | apply (double xIn, double yIn, double &xOut, double &yOut) const |
Transform pixels to ICRS RA, Dec in degrees. | |
virtual void | apply (double xIn, double yIn, double &xOut, double &yOut) const=0 |
void | apply (Point const &in, Point &out) const |
applies the tranfo to in and writes into out. Is indeed virtual. | |
Point | apply (Point const &in) const |
All these apply(..) shadow the virtual one in derived classes, unless one writes "using
AstrometryTransform::apply". | |
Frame | apply (Frame const &inputframe, bool inscribed) const |
Transform a bounding box, taking either the inscribed or circumscribed box. | |
Point | getTangentPoint () const |
Get the sky origin (CRVAL in FITS WCS terminology) in degrees. | |
AstrometryTransformLinear | getLinPart () const |
The Linear part (corresponding to CD's and CRPIX's) | |
const AstrometryTransformPolynomial * | getCorr () const |
Get a non-owning pointer to the correction transform polynomial. | |
void | setCorrections (std::unique_ptr< AstrometryTransformPolynomial > corrections) |
Assign the correction polynomial (what it means is left to derived classes) | |
Point | getCrPix () const |
Get the pixel origin of the WCS (CRPIX in FITS WCS terminology, but zero-based) | |
std::string | __str__ () const |
void | transformStar (FatPoint &in) const |
virtual double | getJacobian (Point const &point) const |
returns the local jacobian. | |
virtual double | getJacobian (double x, double y) const |
returns the local jacobian. | |
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. | |
virtual void | computeDerivative (Point const &where, AstrometryTransformLinear &derivative, double step=0.01) const |
Computes the local Derivative of a transform, w.r.t. | |
virtual AstrometryTransformLinear | linearApproximation (Point const &where, double step=0.01) const |
linear (local) approximation. | |
virtual void | transformPosAndErrors (const FatPoint &in, FatPoint &out) const |
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)) | |
void | getParams (double *params) const |
params should be at least Npar() long | |
void | offsetParams (Eigen::VectorXd const &delta) |
virtual double | paramRef (Eigen::Index i) const |
virtual double & | paramRef (Eigen::Index i) |
virtual void | paramDerivatives (Point const &where, double *dx, double *dy) const |
Derivative w.r.t parameters. | |
virtual std::unique_ptr< AstrometryTransform > | roughInverse (const Frame ®ion) const |
Rough inverse. | |
virtual std::size_t | getNpar () const |
returns the number of parameters (to compute chi2's) | |
virtual std::shared_ptr< ast::Mapping > | toAstMap (jointcal::Frame const &domain) const |
Create an equivalent AST mapping for this transformation, including an analytic inverse if possible. | |
void | write (const std::string &fileName) const |
virtual void | write (std::ostream &stream) const |
Protected Attributes | |
AstrometryTransformLinear | linPixelToTan |
std::unique_ptr< AstrometryTransformPolynomial > | corr |
double | ra0 {} |
double | dec0 {} |
double | cos0 {} |
double | sin0 {} |
Implements the (forward) SIP distorsion scheme.
Definition at line 672 of file AstrometryTransform.h.
lsst::jointcal::TanSipPixelToRaDec::TanSipPixelToRaDec | ( | AstrometryTransformLinear const & | pixToTan, |
Point const & | tangentPoint, | ||
const AstrometryTransformPolynomial * | corrections = nullptr ) |
pixToTan describes the transform from pix to tangent plane (degrees).
TangentPoint in degrees. Corrections are applied before Lin.
Definition at line 1589 of file AstrometryTransform.cc.
lsst::jointcal::TanSipPixelToRaDec::TanSipPixelToRaDec | ( | ) |
Definition at line 1594 of file AstrometryTransform.cc.
|
inlineinherited |
Definition at line 94 of file AstrometryTransform.h.
|
virtualinherited |
Transform pixels to ICRS RA, Dec in degrees.
Implements lsst::jointcal::AstrometryTransform.
Reimplemented in lsst::jointcal::TanPixelToRaDec.
Definition at line 1426 of file AstrometryTransform.cc.
|
virtualinherited |
Implements lsst::jointcal::AstrometryTransform.
Reimplemented in lsst::jointcal::TanPixelToRaDec.
|
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 89 of file AstrometryTransform.cc.
All these apply(..) shadow the virtual one in derived classes, unless one writes "using AstrometryTransform::apply".
Definition at line 75 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.
|
virtual |
returns a copy (allocated by new) of the transformation.
Implements lsst::jointcal::AstrometryTransform.
Definition at line 1630 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::AstrometryTransformPolynomial, lsst::jointcal::TanPixelToRaDec, and lsst::jointcal::AstrometryTransformIdentity.
Definition at line 95 of file AstrometryTransform.cc.
|
virtualinherited |
Computes the local Derivative of a transform, w.r.t.
the Derivative is represented by a AstrometryTransformLinear, in which (hopefully), the offset terms are zero.
position.
Step is used for numerical derivation.
Derivative should transform a vector of offsets into a vector of offsets.
Reimplemented in lsst::jointcal::AstrometryTransformIdentity, lsst::jointcal::AstrometryTransformPolynomial, and lsst::jointcal::AstrometryTransformLinear.
Definition at line 119 of file AstrometryTransform.cc.
|
virtual |
Not implemented yet, because we do it otherwise.
Implements lsst::jointcal::AstrometryTransform.
Definition at line 1644 of file AstrometryTransform.cc.
|
inlineinherited |
Get a non-owning pointer to the correction transform polynomial.
Definition at line 595 of file AstrometryTransform.h.
|
inherited |
Get the pixel origin of the WCS (CRPIX in FITS WCS terminology, but zero-based)
Definition at line 1460 of file AstrometryTransform.cc.
|
virtualinherited |
returns the local jacobian.
Definition at line 100 of file AstrometryTransform.cc.
|
inlinevirtualinherited |
returns the local jacobian.
Definition at line 110 of file AstrometryTransform.h.
|
inherited |
The Linear part (corresponding to CD's and CRPIX's)
Definition at line 1454 of file AstrometryTransform.cc.
|
inlinevirtualinherited |
returns the number of parameters (to compute chi2's)
Reimplemented in lsst::jointcal::AstrometryTransformLinearShift, lsst::jointcal::AstrometryTransformLinearRot, lsst::jointcal::AstrometryTransformLinearScale, lsst::jointcal::AstrometryTransformIdentity, and lsst::jointcal::AstrometryTransformPolynomial.
Definition at line 180 of file AstrometryTransform.h.
|
inherited |
params should be at least Npar() long
Definition at line 217 of file AstrometryTransform.cc.
|
virtual |
the transformation from pixels to tangent plane (degrees)
Implements lsst::jointcal::BaseTanWcs.
Definition at line 1612 of file AstrometryTransform.cc.
|
inherited |
Get the sky origin (CRVAL in FITS WCS terminology) in degrees.
Definition at line 1452 of file AstrometryTransform.cc.
|
virtual |
Inverse transform: returns a TanRaDecToPixel if there are no corrections, or the iterative solver if there are.
Reimplemented from lsst::jointcal::AstrometryTransform.
Definition at line 1606 of file AstrometryTransform.cc.
|
virtualinherited |
linear (local) approximation.
Reimplemented in lsst::jointcal::AstrometryTransformIdentity, and lsst::jointcal::AstrometryTransformLinear.
Definition at line 137 of file AstrometryTransform.cc.
|
inherited |
Definition at line 222 of file AstrometryTransform.cc.
|
virtualinherited |
Derivative w.r.t parameters.
Derivatives should be al least 2*NPar long. first Npar, for x, last Npar for y.
Reimplemented in lsst::jointcal::AstrometryTransformPolynomial.
Definition at line 237 of file AstrometryTransform.cc.
|
virtualinherited |
Reimplemented in lsst::jointcal::AstrometryTransformPolynomial.
Definition at line 232 of file AstrometryTransform.cc.
|
virtualinherited |
Reimplemented in lsst::jointcal::AstrometryTransformPolynomial.
Definition at line 227 of file AstrometryTransform.cc.
|
virtual |
transforms from pixel space to tangent plane (degrees)
Implements lsst::jointcal::BaseTanWcs.
Definition at line 1619 of file AstrometryTransform.cc.
|
virtual |
prints the transform coefficients to stream.
Implements lsst::jointcal::AstrometryTransform.
Definition at line 1635 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::AstrometryTransformInverse, lsst::jointcal::TanPixelToRaDec, and lsst::jointcal::TanRaDecToPixel.
Definition at line 196 of file AstrometryTransform.cc.
|
inherited |
Assign the correction polynomial (what it means is left to derived classes)
Definition at line 1456 of file AstrometryTransform.cc.
|
inlinevirtualinherited |
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 in lsst::jointcal::AstrometryTransformIdentity, and lsst::jointcal::AstrometryTransformPolynomial.
Definition at line 189 of file AstrometryTransform.h.
|
virtualinherited |
transform errors (represented as double[3] in order V(xx),V(yy),Cov(xy))
Definition at line 163 of file AstrometryTransform.cc.
|
virtualinherited |
Reimplemented in lsst::jointcal::TanRaDecToPixel, and lsst::jointcal::AstrometryTransformPolynomial.
Definition at line 146 of file AstrometryTransform.cc.
|
inlineinherited |
Definition at line 107 of file AstrometryTransform.h.
|
inherited |
Definition at line 247 of file AstrometryTransform.cc.
|
virtualinherited |
Reimplemented in lsst::jointcal::AstrometryTransformIdentity, and lsst::jointcal::AstrometryTransformPolynomial.
Definition at line 257 of file AstrometryTransform.cc.
|
protectedinherited |
Definition at line 616 of file AstrometryTransform.h.
|
protectedinherited |
Definition at line 618 of file AstrometryTransform.h.
|
protectedinherited |
Definition at line 617 of file AstrometryTransform.h.
|
protectedinherited |
Definition at line 614 of file AstrometryTransform.h.
|
protectedinherited |
Definition at line 617 of file AstrometryTransform.h.
|
protectedinherited |
Definition at line 618 of file AstrometryTransform.h.