|
LSSTApplications
8.0.0.0+107,8.0.0.1+13,9.1+18,9.2,master-g084aeec0a4,master-g0aced2eed8+6,master-g15627eb03c,master-g28afc54ef9,master-g3391ba5ea0,master-g3d0fb8ae5f,master-g4432ae2e89+36,master-g5c3c32f3ec+17,master-g60f1e072bb+1,master-g6a3ac32d1b,master-g76a88a4307+1,master-g7bce1f4e06+57,master-g8ff4092549+31,master-g98e65bf68e,master-ga6b77976b1+53,master-gae20e2b580+3,master-gb584cd3397+53,master-gc5448b162b+1,master-gc54cf9771d,master-gc69578ece6+1,master-gcbf758c456+22,master-gcec1da163f+63,master-gcf15f11bcc,master-gd167108223,master-gf44c96c709
LSSTDataManagementBasePackage
|
A 2D linear coordinate transformation. More...
#include <LinearTransform.h>
Public Types | |
| enum | Parameters { XX =0, YX =1, XY =2, YY =3 } |
| typedef Eigen::Matrix< double, 4, 1 > | ParameterVector |
| typedef Eigen::Matrix< double, 2, 4 > | TransformDerivativeMatrix |
| typedef Eigen::Matrix< double, 4, 4 > | ProductDerivativeMatrix |
| typedef Eigen::Matrix< double, 2, 2, Eigen::DontAlign > | Matrix |
Public Member Functions | |
| LinearTransform () | |
| Construct an empty (identity) LinearTransform. More... | |
| LinearTransform (Matrix const &matrix) | |
| Construct an LinearTransform from an Eigen::Matrix. More... | |
| LinearTransform | operator* (LinearTransform const &other) const |
| LinearTransform & | operator= (LinearTransform const &other) |
| ParameterVector const | getParameterVector () const |
| void | setParameterVector (ParameterVector const &vector) |
| Matrix const & | getMatrix () const |
| Matrix & | getMatrix () |
| double & | operator[] (int i) |
| double const & | operator[] (int i) const |
| LinearTransform const | invert () const |
| double | computeDeterminant () const |
| bool | isIdentity () const |
| Whether the transform is a no-op. More... | |
| Point2D | operator() (Point2D const &p) const |
| Transform a Point2D object. More... | |
| Extent2D | operator() (Extent2D const &p) const |
| Transform a Extent2D object. More... | |
| TransformDerivativeMatrix | dTransform (Point2D const &input) const |
| TransformDerivativeMatrix | dTransform (Extent2D const &input) const |
| Derivative of (*this)(input) with respect to the transform elements (for Extent);. More... | |
Static Public Member Functions | |
| static LinearTransform | makeScaling (double s) |
| static LinearTransform | makeScaling (double s, double t) |
| static LinearTransform | makeRotation (Angle t) |
Private Attributes | |
| Matrix | _matrix |
A 2D linear coordinate transformation.
The transform is represented by a matrix \( \mathbf{M} \) such that
\[ \left[\begin{array}{ c } x_f \\ y_f \end{array}\right] = \mathbf{M} \left[\begin{array}{ c } x_i \\ y_i \end{array}\right] \]
where \((x_i,y_i)\) are the input coordinates and \((x_f,y_f)\) are the output coordinates.
If \( x_f(x_i,y_i) \) and \( y_f(x_i,y_i) \) are continuous differentiable functions, then
\[ \mathbf{M} = \left[\begin{array}{ c c } \displaystyle\frac{\partial x_f}{\partial x_i} & \displaystyle\frac{\partial x_f}{\partial y_i} \\ \displaystyle\frac{\partial y_f}{\partial x_i} & \displaystyle\frac{\partial y_f}{\partial y_i} \end{array}\right] \]
evaluated at \((x_i,y_i)\).
Definition at line 70 of file LinearTransform.h.
| typedef Eigen::Matrix<double,2,2,Eigen::DontAlign> lsst::afw::geom::LinearTransform::Matrix |
Definition at line 78 of file LinearTransform.h.
| typedef Eigen::Matrix<double,4,1> lsst::afw::geom::LinearTransform::ParameterVector |
Definition at line 74 of file LinearTransform.h.
| typedef Eigen::Matrix<double,4,4> lsst::afw::geom::LinearTransform::ProductDerivativeMatrix |
Definition at line 76 of file LinearTransform.h.
| typedef Eigen::Matrix<double,2,4> lsst::afw::geom::LinearTransform::TransformDerivativeMatrix |
Definition at line 75 of file LinearTransform.h.
|
inline |
|
inlineexplicit |
Construct an LinearTransform from an Eigen::Matrix.
Definition at line 84 of file LinearTransform.h.
| double lsst::afw::geom::LinearTransform::computeDeterminant | ( | ) | const |
| TransformDerivativeMatrix lsst::afw::geom::LinearTransform::dTransform | ( | Point2D const & | input | ) | const |
|
inline |
Derivative of (*this)(input) with respect to the transform elements (for Extent);.
Definition at line 146 of file LinearTransform.h.
|
inline |
Definition at line 111 of file LinearTransform.h.
|
inline |
Definition at line 112 of file LinearTransform.h.
| ParameterVector const lsst::afw::geom::LinearTransform::getParameterVector | ( | ) | const |
| LinearTransform const lsst::afw::geom::LinearTransform::invert | ( | ) | const |
|
inline |
Whether the transform is a no-op.
Definition at line 125 of file LinearTransform.h.
|
inlinestatic |
Definition at line 99 of file LinearTransform.h.
|
inlinestatic |
Definition at line 91 of file LinearTransform.h.
|
inlinestatic |
Definition at line 95 of file LinearTransform.h.
Transform a Point2D object.
This operation is equivalent to applying the LinearTransform to an lsst::afw::geom::Extent
Definition at line 133 of file LinearTransform.h.
Transform a Extent2D object.
This operation is equivalent to applying the LinearTransform to an lsst::afw::geom::Point
Definition at line 141 of file LinearTransform.h.
|
inline |
Definition at line 86 of file LinearTransform.h.
|
inline |
Definition at line 103 of file LinearTransform.h.
|
inline |
Definition at line 114 of file LinearTransform.h.
|
inline |
Definition at line 115 of file LinearTransform.h.
| void lsst::afw::geom::LinearTransform::setParameterVector | ( | ParameterVector const & | vector | ) |
|
private |
Definition at line 151 of file LinearTransform.h.
1.8.5