lsst.meas.astrom  14.0
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Friends | List of all members
lsst::meas::astrom::PolynomialTransform Class Reference

A 2-d coordinate transform represented by a pair of standard polynomials (one for each coordinate). More...

#include <PolynomialTransform.h>

Public Member Functions

 PolynomialTransform (ndarray::Array< double const, 2, 2 > const &xCoeffs, ndarray::Array< double const, 2, 2 > const &yCoeffs)
 Construct a new transform from existing coefficient arrays. More...
 
 PolynomialTransform (PolynomialTransform const &other)
 Copy constructor. More...
 
 PolynomialTransform (PolynomialTransform &&other)
 Move constructor. More...
 
PolynomialTransformoperator= (PolynomialTransform const &other)
 Copy assignment. More...
 
PolynomialTransformoperator= (PolynomialTransform &&other)
 Move constructor. More...
 
void swap (PolynomialTransform &other)
 Lightweight swap. More...
 
int getOrder () const
 Return the order of the polynomials. More...
 
ndarray::Array< double const, 2, 2 > getXCoeffs () const
 2-D polynomial coefficients that compute the output x coordinate. More...
 
ndarray::Array< double const, 2, 2 > getYCoeffs () const
 2-D polynomial coefficients that compute the output x coordinate. More...
 
afw::geom::AffineTransform linearize (afw::geom::Point2D const &in) const
 Return an approximate affine transform at the given point. More...
 
afw::geom::Point2D operator() (afw::geom::Point2D const &in) const
 Apply the transform to a point. More...
 

Static Public Member Functions

static PolynomialTransform convert (ScaledPolynomialTransform const &other)
 Convert a ScaledPolynomialTransform to an equivalent PolynomialTransform. More...
 
static PolynomialTransform convert (SipForwardTransform const &other)
 Convert a SipForwardTransform to an equivalent PolynomialTransform. More...
 
static PolynomialTransform convert (SipReverseTransform const &other)
 Convert a SipReverseTransform to an equivalent PolynomialTransform. More...
 

Friends

class ScaledPolynomialTransformFitter
 
class SipForwardTransform
 
class SipReverseTransform
 
class ScaledPolynomialTransform
 
PolynomialTransform compose (afw::geom::AffineTransform const &t1, PolynomialTransform const &t2)
 Return a PolynomialTransform that is equivalent to the composition t1(t2()) More...
 
PolynomialTransform compose (PolynomialTransform const &t1, afw::geom::AffineTransform const &t2)
 Return a PolynomialTransform that is equivalent to the composition t1(t2()) More...
 

Detailed Description

A 2-d coordinate transform represented by a pair of standard polynomials (one for each coordinate).

PolynomialTransform instances should be confined to a single thread.

Definition at line 42 of file PolynomialTransform.h.

Constructor & Destructor Documentation

lsst::meas::astrom::PolynomialTransform::PolynomialTransform ( ndarray::Array< double const, 2, 2 > const &  xCoeffs,
ndarray::Array< double const, 2, 2 > const &  yCoeffs 
)

Construct a new transform from existing coefficient arrays.

For both input arguments, the array element at [p, q] corresponds to the polynomial term x^p y^q.

Both arrays are expected be square and triangular; if N is the order of the transform, both arrays should be (N+1)x(N+1), and elements with p + q > N should be zero.

Definition at line 90 of file PolynomialTransform.cc.

lsst::meas::astrom::PolynomialTransform::PolynomialTransform ( PolynomialTransform const &  other)

Copy constructor.

Coefficient arrays are deep-copied.

Definition at line 121 of file PolynomialTransform.cc.

lsst::meas::astrom::PolynomialTransform::PolynomialTransform ( PolynomialTransform &&  other)

Move constructor.

Coefficient arrays are moved.

Definition at line 128 of file PolynomialTransform.cc.

Member Function Documentation

PolynomialTransform lsst::meas::astrom::PolynomialTransform::convert ( ScaledPolynomialTransform const &  other)
static

Convert a ScaledPolynomialTransform to an equivalent PolynomialTransform.

Definition at line 31 of file PolynomialTransform.cc.

PolynomialTransform lsst::meas::astrom::PolynomialTransform::convert ( SipForwardTransform const &  other)
static

Convert a SipForwardTransform to an equivalent PolynomialTransform.

Definition at line 38 of file PolynomialTransform.cc.

PolynomialTransform lsst::meas::astrom::PolynomialTransform::convert ( SipReverseTransform const &  other)
static

Convert a SipReverseTransform to an equivalent PolynomialTransform.

Definition at line 54 of file PolynomialTransform.cc.

int lsst::meas::astrom::PolynomialTransform::getOrder ( ) const
inline

Return the order of the polynomials.

Definition at line 107 of file PolynomialTransform.h.

ndarray::Array<double const,2,2> lsst::meas::astrom::PolynomialTransform::getXCoeffs ( ) const
inline

2-D polynomial coefficients that compute the output x coordinate.

Indexing the result by [p][q] gives the coefficient of \(x_{\mathrm{in}}^p\,y_{\mathrm{in}}^q\).

Definition at line 115 of file PolynomialTransform.h.

ndarray::Array<double const,2,2> lsst::meas::astrom::PolynomialTransform::getYCoeffs ( ) const
inline

2-D polynomial coefficients that compute the output x coordinate.

Indexing the result by [p][q] gives the coefficient of \(x_{\mathrm{in}}^p\,y_{\mathrm{in}}^q\).

Definition at line 123 of file PolynomialTransform.h.

afw::geom::AffineTransform lsst::meas::astrom::PolynomialTransform::linearize ( afw::geom::Point2D const &  in) const

Return an approximate affine transform at the given point.

Definition at line 159 of file PolynomialTransform.cc.

afw::geom::Point2D lsst::meas::astrom::PolynomialTransform::operator() ( afw::geom::Point2D const &  in) const

Apply the transform to a point.

Definition at line 187 of file PolynomialTransform.cc.

PolynomialTransform & lsst::meas::astrom::PolynomialTransform::operator= ( PolynomialTransform const &  other)

Copy assignment.

Coefficient arrays are deep-copied.

Definition at line 137 of file PolynomialTransform.cc.

PolynomialTransform & lsst::meas::astrom::PolynomialTransform::operator= ( PolynomialTransform &&  other)

Move constructor.

Coefficient arrays are moved.

Definition at line 145 of file PolynomialTransform.cc.

void lsst::meas::astrom::PolynomialTransform::swap ( PolynomialTransform other)

Lightweight swap.

Definition at line 152 of file PolynomialTransform.cc.

Friends And Related Function Documentation

PolynomialTransform compose ( afw::geom::AffineTransform const &  t1,
PolynomialTransform const &  t2 
)
friend

Return a PolynomialTransform that is equivalent to the composition t1(t2())

The returned composition would be exact in ideal arithmetic, but may suffer from significant round-off error for high-order polynomials.

PolynomialTransform compose ( PolynomialTransform const &  t1,
afw::geom::AffineTransform const &  t2 
)
friend

Return a PolynomialTransform that is equivalent to the composition t1(t2())

The returned composition would be exact in ideal arithmetic, but may suffer from significant round-off error for high-order polynomials.

friend class ScaledPolynomialTransform
friend

Definition at line 144 of file PolynomialTransform.h.

friend class ScaledPolynomialTransformFitter
friend

Definition at line 141 of file PolynomialTransform.h.

friend class SipForwardTransform
friend

Definition at line 142 of file PolynomialTransform.h.

friend class SipReverseTransform
friend

Definition at line 143 of file PolynomialTransform.h.


The documentation for this class was generated from the following files: