lsst.shapelet
19.0.0-2-g2ed0b45+1
|
Go to the documentation of this file.
23 #ifndef LSST_SHAPELET_MultiShapeletBasis_h_INCLUDED
24 #define LSST_SHAPELET_MultiShapeletBasis_h_INCLUDED
28 namespace lsst {
namespace shapelet {
67 ndarray::Array<double const,2,2>
getMatrix()
const {
return _matrix; }
74 ndarray::Array<double const,2,2> _matrix;
97 typedef ComponentVector::const_iterator
Iterator;
119 void addComponent(
double radius,
int order, ndarray::Array<double const,2,2>
const & matrix);
139 ndarray::Array<double const,1,1>
const & coefficients
149 #endif // !LSST_SHAPELET_MultiShapeletBasis_h_INCLUDED
std::vector< Component > ComponentVector
ComponentVector::const_iterator Iterator
void merge(MultiShapeletBasis const &other)
Combine the given basis with this (in place), by appending its elements.
A basis formed from a linear combination of shapelet bases that differ only in radius.
ndarray::Array< double const, 2, 2 > getMatrix() const
Matrix whose elements [i,j] map MultiShapeletBasis elements j to shapelet terms i.
MultiShapeletBasisComponent(double radius, int order, ndarray::Array< double const, 2, 2 > const &matrix)
Main constructor for MultiShapeletBasisComponent.
int getComponentCount() const
Return the number of components (distinct shapelet bases) in the MultiShapeletBasis.
double getRadius() const
Return the radius of this shapelet expansion.
void normalize()
Rescale all matrices so each element has unit flux.
MultiShapeletFunction makeFunction(afw::geom::ellipses::Ellipse const &ellipse, ndarray::Array< double const, 1, 1 > const &coefficients) const
Create a MultiShapeletFunction from the basis.
int getOrder() const
Order of this shapelet expansion.
Simple struct that represents one shapelet expansion in a MultiShapeletBasis.
MultiShapeletBasisComponent Component
int getSize() const
Return the number of elements (i.e. free amplitudes) in the MultiShapeletBasis.
Iterator begin() const
Iterator over the components (distinct shapelet bases) of the MultiShapeletBasis.
A multi-scale shapelet function.
void addComponent(double radius, int order, ndarray::Array< double const, 2, 2 > const &matrix)
Add a new component (shapelet basis) to the MultiShapeletBasis.
void scale(double factor)
Multiply the radius of all basis elements by the given factor.
MultiShapeletBasis(int size)
Construct a MultiShapeletBasis with the given number of elements (i.e. free amplitudes).