LSSTApplications
20.0.0
LSSTDataManagementBasePackage
|
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;
149 #endif // !LSST_SHAPELET_MultiShapeletBasis_h_INCLUDED
std::vector< Component > ComponentVector
ComponentVector::const_iterator Iterator
ndarray::Array< double const, 2, 2 > coefficients
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.
ItemVariant const * other
double getRadius() const
Return the radius of this shapelet expansion.
void normalize()
Rescale all matrices so each element has unit flux.
A base class for image defects.
MultiShapeletFunction makeFunction(afw::geom::ellipses::Ellipse const &ellipse, ndarray::Array< double const, 1, 1 > const &coefficients) const
Create a MultiShapeletFunction from the basis.
An ellipse defined by an arbitrary BaseCore and a center point.
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).