lsst.shapelet
gc794cbe0cf+6dab958613
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
shapelet
GaussHermiteProjection.h
Go to the documentation of this file.
1
// -*- LSST-C++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008, 2009, 2010, 2011 LSST Corporation.
5
*
6
* This product includes software developed by the
7
* LSST Project (http://www.lsst.org/).
8
*
9
* This program is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation, either version 3 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the LSST License Statement and
20
* the GNU General Public License along with this program. If not,
21
* see <http://www.lsstcorp.org/LegalNotices/>.
22
*/
23
24
#ifndef LSST_AFW_MATH_SHAPELETS_GaussHermiteProjection
25
#define LSST_AFW_MATH_SHAPELETS_GaussHermiteProjection
26
27
#include "Eigen/Core"
28
#include "
lsst/afw/geom/ellipses.h
"
29
#include "
lsst/geom.h
"
30
#include "
lsst/shapelet/HermiteTransformMatrix.h
"
31
32
namespace
lsst
{
namespace
shapelet
{
33
34
class
GaussHermiteProjection
{
35
public
:
36
38
Eigen::MatrixXd
compute
(
39
afw::geom::ellipses::Quadrupole
const
& inputEllipse,
int
inputOrder,
40
afw::geom::ellipses::Quadrupole
const
& outputEllipse,
int
outputOrder
41
)
const
{
42
return
compute
(
43
inputEllipse.
getGridTransform
().
getMatrix
(), inputOrder,
44
outputEllipse.
getGridTransform
().
getMatrix
(), outputOrder
45
);
46
}
47
49
Eigen::MatrixXd
compute
(
50
geom::LinearTransform
const
& inputTransform,
int
inputOrder,
51
geom::LinearTransform
const
& outputTransform,
int
outputOrder
52
)
const
{
53
return
compute
(
54
inputTransform.
getMatrix
(), inputOrder,
55
outputTransform.
getMatrix
(), outputOrder
56
);
57
}
58
60
Eigen::MatrixXd
compute
(
61
Eigen::Matrix2d
const
& inputTransform,
int
inputOrder,
62
Eigen::Matrix2d
const
& outputTransform,
int
outputOrder
63
)
const
;
64
65
int
getMaxOrder
()
const
{
return
_htm.getOrder(); }
66
67
explicit
GaussHermiteProjection
(
int
maxOrder) : _htm(maxOrder) {}
68
69
private
:
70
HermiteTransformMatrix
_htm;
71
};
72
}}
// namespace lsst::shapelet
73
74
#endif
// !LSST_AFW_MATH_SHAPELETS_GaussHermiteProjection
HermiteTransformMatrix.h
lsst::afw::geom::ellipses::BaseCore::GridTransform::getMatrix
lsst::geom::LinearTransform::Matrix getMatrix() const
lsst::afw::geom::ellipses::Quadrupole::getGridTransform
GridTransform const getGridTransform() const
lsst::afw::geom::ellipses::Quadrupole
lsst::geom::LinearTransform
lsst::geom::LinearTransform::getMatrix
Matrix const & getMatrix() const noexcept
lsst::shapelet::GaussHermiteProjection::getMaxOrder
int getMaxOrder() const
Definition
GaussHermiteProjection.h:65
lsst::shapelet::GaussHermiteProjection::compute
Eigen::MatrixXd compute(afw::geom::ellipses::Quadrupole const &inputEllipse, int inputOrder, afw::geom::ellipses::Quadrupole const &outputEllipse, int outputOrder) const
Compute a matrix that projects from one shapelet basis ellipse to another.
Definition
GaussHermiteProjection.h:38
lsst::shapelet::GaussHermiteProjection::compute
Eigen::MatrixXd compute(geom::LinearTransform const &inputTransform, int inputOrder, geom::LinearTransform const &outputTransform, int outputOrder) const
Compute a matrix that projects from one shapelet basis "grid transform" to another.
Definition
GaussHermiteProjection.h:49
lsst::shapelet::GaussHermiteProjection::GaussHermiteProjection
GaussHermiteProjection(int maxOrder)
Definition
GaussHermiteProjection.h:67
lsst::shapelet::GaussHermiteProjection::compute
Eigen::MatrixXd compute(Eigen::Matrix2d const &inputTransform, int inputOrder, Eigen::Matrix2d const &outputTransform, int outputOrder) const
Compute a matrix that projects from one shapelet basis "grid transform" to another.
lsst::shapelet::HermiteTransformMatrix
A class that computes a matrix that applies a linear transform to a 2-d Hermite polynomial expansion.
Definition
HermiteTransformMatrix.h:54
ellipses.h
geom.h
lsst::shapelet
Definition
BasisEvaluator.h:37
lsst
Generated on
for lsst.shapelet by
1.17.0