| LSSTApplications
    20.0.0
    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.
Constants, typedefs, and general-purpose functions for shapelets library.
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.
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).