LSSTApplications
19.0.0-14-gb0260a2+72efe9b372,20.0.0+7927753e06,20.0.0+8829bf0056,20.0.0+995114c5d2,20.0.0+b6f4b2abd1,20.0.0+bddc4f4cbe,20.0.0-1-g253301a+8829bf0056,20.0.0-1-g2b7511a+0d71a2d77f,20.0.0-1-g5b95a8c+7461dd0434,20.0.0-12-g321c96ea+23efe4bbff,20.0.0-16-gfab17e72e+fdf35455f6,20.0.0-2-g0070d88+ba3ffc8f0b,20.0.0-2-g4dae9ad+ee58a624b3,20.0.0-2-g61b8584+5d3db074ba,20.0.0-2-gb780d76+d529cf1a41,20.0.0-2-ged6426c+226a441f5f,20.0.0-2-gf072044+8829bf0056,20.0.0-2-gf1f7952+ee58a624b3,20.0.0-20-geae50cf+e37fec0aee,20.0.0-25-g3dcad98+544a109665,20.0.0-25-g5eafb0f+ee58a624b3,20.0.0-27-g64178ef+f1f297b00a,20.0.0-3-g4cc78c6+e0676b0dc8,20.0.0-3-g8f21e14+4fd2c12c9a,20.0.0-3-gbd60e8c+187b78b4b8,20.0.0-3-gbecbe05+48431fa087,20.0.0-38-ge4adf513+a12e1f8e37,20.0.0-4-g97dc21a+544a109665,20.0.0-4-gb4befbc+087873070b,20.0.0-4-gf910f65+5d3db074ba,20.0.0-5-gdfe0fee+199202a608,20.0.0-5-gfbfe500+d529cf1a41,20.0.0-6-g64f541c+d529cf1a41,20.0.0-6-g9a5b7a1+a1cd37312e,20.0.0-68-ga3f3dda+5fca18c6a4,20.0.0-9-g4aef684+e18322736b,w.2020.45
LSSTDataManagementBasePackage
|
Go to the documentation of this file.
25 #ifndef LSST_AFW_MATH_SHAPELETS_SHAPELETFUNCTION_H
26 #define LSST_AFW_MATH_SHAPELETS_SHAPELETFUNCTION_H
38 namespace lsst {
namespace shapelet {
40 class ShapeletFunctionEvaluator;
93 _basisType = basisType;
103 ndarray::Array<double const,1,1>
const getCoefficients()
const {
return _coefficients; }
165 ndarray::Array<double,1,1> _coefficients;
190 return _normalization * _h.
sumEvaluation(_coefficients, _transform(point));
195 return _normalization * _h.
sumEvaluation(_coefficients, _transform(point));
200 ndarray::Array<double const,1>
const &
x,
201 ndarray::Array<double const,1>
const &
y
206 ndarray::Array<double,2,1>
const & array,
233 void _computeRawMoments(
double & q0, Eigen::Vector2d & q1, Eigen::Matrix2d & q2)
const;
235 double _normalization;
236 ndarray::Array<double const,1,1> _coefficients;
247 #endif // !defined(LSST_AFW_MATH_SHAPELETS_SHAPELETFUNCTION_H)
void shiftInPlace(geom::Extent2D const &offset)
Shift the shapelet function by shifting the basis ellipse.
std::shared_ptr< ShapeletFunction > Ptr
Backwards-compatibility support for depersisting the old Calib (FluxMag0/FluxMag0Err) objects.
ShapeletFunction(int order, BasisTypeEnum basisType)
Construct a function with a unit-circle ellipse and set all coefficients to zero.
ndarray::Array< double const, 2, 2 > coefficients
std::shared_ptr< ShapeletFunctionEvaluator const > ConstPtr
static void convertCoefficientVector(ndarray::Array< double, 1 > const &array, BasisTypeEnum input, BasisTypeEnum output, int order)
Convert a coefficient vector between basis types in-place.
BasisTypeEnum getBasisType() const
Return the basis type (HERMITE or LAGUERRE).
double sumIntegration(ndarray::Array< double const, 1 > const &coeff, int xMoment=0, int yMoment=0) const
Integrate a simple unscaled shapelet expansion.
ShapeletFunction(ShapeletFunction const &other)
Copy constructor (deep).
ShapeletFunction(int order, BasisTypeEnum basisType, double radius, geom::Point2D const ¢er=geom::Point2D())
Construct a function with a circular ellipse and set all coefficients to zero.
void addToImage(ndarray::Array< double, 2, 1 > const &array, geom::Point2I const &xy0=geom::Point2I()) const
Add the function to the given image-like array.
Evaluates a MultiShapeletFunction.
Evaluator evaluate() const
Construct a helper object that can efficiently evaluate the function.
void normalize(double value=1.0)
Normalize the integral of the shapelet function to the given value.
double sumEvaluation(ndarray::Array< double const, 1 > const &coeff, double x, double y, double *dx=0, double *dy=0) const
Evaluate a simple unscaled shapelet expansion at the given point.
double operator()(geom::Point2D const &point) const
Evaluate at the given point.
afw::geom::ellipses::Ellipse computeMoments() const
Return the unweighted dipole and quadrupole moments of the function as an ellipse.
A 2-d function defined by an expansion onto a Gauss-Laguerre or Gauss-Hermite basis.
ShapeletFunction(int order, BasisTypeEnum basisType, ndarray::Array< double, 1, 1 > const &coefficients)
Construct a function with a unit-circle ellipse and a deep-copied coefficient vector.
std::shared_ptr< ShapeletFunctionEvaluator > Ptr
void transformInPlace(geom::AffineTransform const &transform)
Transform the shapelet function by transforming the basis ellipse.
ShapeletFunction(int order, BasisTypeEnum basisType, double radius, geom::Point2D const ¢er, ndarray::Array< double, 1, 1 > const &coefficients)
Construct a function with a circular ellipse and a deep-copied coefficient vector.
ShapeletFunction(int order, BasisTypeEnum basisType, afw::geom::ellipses::Ellipse const &ellipse)
Construct a function and set all coefficients to zero.
Transformer transform(lsst::geom::AffineTransform const &transform)
ShapeletFunction & operator=(ShapeletFunction const &other)
Assignment (deep).
lsst::geom::Point2D const & getCenter() const
Return the center point.
ndarray::Array< double, 1, 1 > const getCoefficients()
Return the coefficient vector.
ItemVariant const * other
void setEllipse(afw::geom::ellipses::Ellipse const &ellipse)
Set the ellipse.
double integrate() const
Compute the definite integral or integral moments.
Constants, typedefs, and general-purpose functions for shapelets library.
void update(ShapeletFunction const &function)
Update the evaluator from the given function.
ndarray::Array< double, 1, 1 > operator()(ndarray::Array< double const, 1 > const &x, ndarray::Array< double const, 1 > const &y) const
Evaluate at the given points, returning a newly-allocated array.
A base class for image defects.
An ellipse defined by an arbitrary BaseCore and a center point.
A class to evaluate HERMITE shapelet-related quantities.
ShapeletFunction(int order, BasisTypeEnum basisType, afw::geom::ellipses::Ellipse const &ellipse, ndarray::Array< double const, 1, 1 > const &coefficients)
Construct a function with a deep-copied coefficient vector.
double operator()(double x, double y) const
Evaluate at the given point.
int getOrder() const
Return the maximum order (inclusive), either or .
ShapeletFunctionEvaluator Evaluator
afw::geom::ellipses::Ellipse & getEllipse()
Get the ellipse (non-const).
ShapeletFunction()
Default constructor to appease SWIG (used by std::list). Not for use by users.
ShapeletFunction convolve(ShapeletFunction const &other) const
Convolve the shapelet function.
afw::geom::ellipses::Ellipse const & getEllipse() const
Get the ellipse (const).
void addToImage(afw::image::Image< double > &image) const
Evaluate the function on the given image.
std::shared_ptr< ShapeletFunction const > ConstPtr
double operator()(geom::Extent2D const &point) const
Evaluate at the given point.
void changeBasisType(BasisTypeEnum basisType)
Change the basis type and convert coefficients in-place correspondingly.
A class to represent a 2-dimensional array of pixels.
ShapeletFunctionEvaluator(ShapeletFunction const &function)
Construct an evaluator for the given function.
static double const FLUX_FACTOR
Evaluates a ShapeletFunction.
ndarray::Array< double const, 1, 1 > const getCoefficients() const
Return the coefficient vector (const).