File HermiteTransformMatrix.h

namespace lsst

Class for a simple mapping implementing a generic AstrometryTransform.

Remove all non-astronomical counts from the Chunk Exposure’s pixels.

Forward declarations for lsst::utils::Cache

For details on the Cache class, see the Cache.h file.

It uses a template rather than a pointer so that the derived classes can use the specifics of the transform. The class simplePolyMapping overloads a few routines.

A base class for image defects

Numeric constants used by the Integrate.h integrator routines.

Compute Image Statistics

Note

Gauss-Kronrod-Patterson quadrature coefficients for use in quadpack routine qng. These coefficients were calculated with 101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov 1981.

Note

The Statistics class itself can only handle lsst::afw::image::MaskedImage() types. The philosophy has been to handle other types by making them look like lsst::afw::image::MaskedImage() and reusing that code. Users should have no need to instantiate a Statistics object directly, but should use the overloaded makeStatistics() factory functions.

namespace shapelet
class HermiteTransformMatrix
#include <HermiteTransformMatrix.h>

A class that computes a matrix that applies a linear transform to a 2-d Hermite polynomial expansion.

Let

\[ Z_{\boldsymbol{n}}\!(\boldsymbol{x}) \equiv \mathcal{H}_{n_0}\!(x_0)\;\mathcal{H}_{n_1}\!(x_1) \]
where
\[ \mathcal{H}_n(x)=(2^n \pi^{1/2} n!)^{-1/2}H_n(x) \]
is the \(i\)th “alternate” Hermite polynomial. This function computes the matrix \(\boldsymbol{Q}(\boldsymbol{U})\) given a linear transform \(\boldsymbol{U}\) such that
\[ Z_{\boldsymbol{m}}\!(\boldsymbol{U}\boldsymbol{x}) = \sum_{\boldsymbol{n}} Q_{\boldsymbol{m},\boldsymbol{n}}\!(\boldsymbol{U})\,Z_{\boldsymbol{n}}\!(\boldsymbol{x}) \]

Public Functions

Eigen::MatrixXd compute(Eigen::Matrix2d const &transform) const

Compute the matrix for a new linear transform.

Eigen::MatrixXd compute(geom::LinearTransform const &transform) const

Compute the matrix for a new linear transform.

Eigen::MatrixXd compute(Eigen::Matrix2d const &transform, int order) const

Compute the matrix for a new linear transform at the given order (must be <= getOrder()).

Eigen::MatrixXd compute(geom::LinearTransform const &transform, int order) const

Compute the matrix for a new linear transform at the given order (must be <= getOrder()).

Eigen::MatrixXd getCoefficientMatrix() const

Return the matrix that maps (1-d) regular polynomials to the alternate Hermite polynomials.

The matrix is always lower triangular, and has size equal to getOrder()+1.

Eigen::MatrixXd getInverseCoefficientMatrix() const

Return the matrix that maps (1-d) alternate Hermite polynomials to regular polynomials.

The matrix is always lower triangular, and has size equal to getOrder()+1.

int getOrder() const

Return the maximum order at which the matrix can be computed.

HermiteTransformMatrix(int order)

Construct an instance able to compute the transform matrix at up to the given order.

Private Members

int _order
Eigen::MatrixXd _coeffFwd
Eigen::MatrixXd _coeffInv