LSST Applications g0265f82a02+d6b5cd48b5,g02d81e74bb+a41d3748ce,g1470d8bcf6+6be6c9203b,g2079a07aa2+14824f138e,g212a7c68fe+a4f2ea4efa,g2305ad1205+72971fe858,g295015adf3+ab2c85acae,g2bbee38e9b+d6b5cd48b5,g337abbeb29+d6b5cd48b5,g3ddfee87b4+31b3a28dff,g487adcacf7+082e807817,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+b2918d57ae,g5a732f18d5+66d966b544,g64a986408d+a41d3748ce,g858d7b2824+a41d3748ce,g8a8a8dda67+a6fc98d2e7,g99cad8db69+7fe4acdf18,g9ddcbc5298+d4bad12328,ga1e77700b3+246acaaf9c,ga8c6da7877+84af8b3ff8,gb0e22166c9+3863383f4c,gb6a65358fc+d6b5cd48b5,gba4ed39666+9664299f35,gbb8dafda3b+d8d527deb2,gc07e1c2157+b2dbe6b631,gc120e1dc64+61440b2abb,gc28159a63d+d6b5cd48b5,gcf0d15dbbd+31b3a28dff,gdaeeff99f8+a38ce5ea23,ge6526c86ff+39927bb362,ge79ae78c31+d6b5cd48b5,gee10cc3b42+a6fc98d2e7,gf1cff7945b+a41d3748ce,v24.1.5.rc1
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.