Class SipReverseTransform¶
Defined in File SipTransform.h
Inheritance Relationships¶
Base Type¶
public lsst::meas::astrom::SipTransformBase
(Class SipTransformBase)
Class Documentation¶
-
class
SipReverseTransform
: public lsst::meas::astrom::SipTransformBase¶ A transform that maps intermediate world coordinates to pixel coordinates according to the SIP convention.
The SIP reverse transform is defined as
\[\begin{split} \left[\begin{array}{ c } u \\ v \end{array}\right] = \left[\begin{array}{ c } u_0 + U + {\displaystyle\sum_{p,q}^{0 \le p + q \le N}} \mathrm{AP}_{p,q} U^p V^q \\ v_0 + V + {\displaystyle\sum_{p,q}^{0 \le p + q \le N}} \mathrm{BP}_{p,q} U^p V^q \\ \end{array}\right] \end{split}\]with\[\begin{split} \left[\begin{array}{ c } U \\ V \end{array}\right] = \mathbf{Z}^{-1} \left[\begin{array}{ c } x \\ y \end{array}\right] \end{split}\]and\((u,v)\) are pixel coordinates.
\((x,y)\) are “intermediate world coordinates” the result of applying the gnomonic (TAN) projection at sky origin CRVAL to sky coordinates).
\(\mathbf{Z}\) is the \(2 \times 2\) linear transform ( \(\mathrm{CD}\)) matrix.
\((u_0,v_0)\) is the pixel origin \(\mathrm{CRPIX}\) (but zero-indexed; the FITS standard is 1-indexed).
\(\mathrm{AP}\), \(\mathrm{BP}\) are the polynomial coefficients of the reverse transform.
SipForwardTransform instances should be confined to a single thread.
Public Functions
-
SipReverseTransform
(geom::Point2D const &pixelOrigin, geom::LinearTransform const &cdMatrix, PolynomialTransform const &reverseSipPoly)¶ Construct a SipReverseTransform from its components.
- Parameters
[in] pixelOrigin
: CRPIX \((u_0,v_0)\) (zero-indexed)[in] cdMatrix
: CD matrix \(Z\)[in] reverseSipPoly
: Polynomial transform \((AP,BP)\)
-
SipReverseTransform
(SipReverseTransform const &other)¶
-
SipReverseTransform
(SipReverseTransform &&other)¶
-
SipReverseTransform &
operator=
(SipReverseTransform const &other)¶
-
SipReverseTransform &
operator=
(SipReverseTransform &&other)¶
-
void
swap
(SipReverseTransform &other)¶
-
geom::AffineTransform
linearize
(geom::Point2D const &in) const¶ Return an approximate affine transform at the given point.
-
geom::Point2D
operator()
(geom::Point2D const &xy) const¶ Apply the transform to a point.
-
SipReverseTransform
transformPixels
(geom::AffineTransform const &s) const¶ Return a new reverse SIP transform that includes a transformation of the pixel coordinate system by the given affine transform.
Public Static Functions
-
static SipReverseTransform
convert
(PolynomialTransform const &poly, geom::Point2D const &pixelOrigin, geom::LinearTransform const &cdMatrix)¶ Convert a PolynomialTransform to an equivalent SipReverseTransform.
- Parameters
[in] poly
: PolynomialTransform to convert.[in] pixelOrigin
: CRPIX \((u_0,v_0)\) (zero-indexed)[in] cdMatrix
: CD matrix \(Z\)
-
static SipReverseTransform
convert
(ScaledPolynomialTransform const &scaled, geom::Point2D const &pixelOrigin, geom::LinearTransform const &cdMatrix)¶ Convert a ScaledPolynomialTransform to an equivalent SipReverseTransform.
- Parameters
[in] scaled
: ScaledPolynomialTransform to convert.[in] pixelOrigin
: CRPIX \((u_0,v_0)\) (zero-indexed)[in] cdMatrix
: CD matrix \(Z\)
-
static SipReverseTransform
convert
(ScaledPolynomialTransform const &scaled)¶ Convert a ScaledPolynomialTransform to an equivalent SipReverseTransform.
The pixel origin CRPIX and CD matrix are defined to reproduce the translation and linear transformation in the ScaledPolynomialTransforms output and input scalings (respectively).