LSST Applications g063fba187b+fee0456c91,g0f08755f38+ea96e5a5a3,g1653933729+a8ce1bb630,g168dd56ebc+a8ce1bb630,g1a2382251a+90257ff92a,g20f6ffc8e0+ea96e5a5a3,g217e2c1bcf+937a289c59,g28da252d5a+daa7da44eb,g2bbee38e9b+253935c60e,g2bc492864f+253935c60e,g3156d2b45e+6e55a43351,g32e5bea42b+31359a2a7a,g347aa1857d+253935c60e,g35bb328faa+a8ce1bb630,g3a166c0a6a+253935c60e,g3b1af351f3+a8ce1bb630,g3e281a1b8c+c5dd892a6c,g414038480c+416496e02f,g41af890bb2+afe91b1188,g599934f4f4+0db33f7991,g7af13505b9+e36de7bce6,g80478fca09+da231ba887,g82479be7b0+a4516e59e3,g858d7b2824+ea96e5a5a3,g89c8672015+f4add4ffd5,g9125e01d80+a8ce1bb630,ga5288a1d22+bc6ab8dfbd,gb58c049af0+d64f4d3760,gc28159a63d+253935c60e,gcab2d0539d+3f2b72788c,gcf0d15dbbd+4ea9c45075,gda6a2b7d83+4ea9c45075,gdaeeff99f8+1711a396fd,ge79ae78c31+253935c60e,gef2f8181fd+3031e3cf99,gf0baf85859+c1f95f4921,gfa517265be+ea96e5a5a3,gfa999e8aa5+17cd334064,w.2024.50
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.