LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Private Attributes | List of all members
lsst::meas::algorithms::ShapeletInterpolation Class Reference

#include <ShapeletInterpolation.h>

Public Types

typedef boost::shared_ptr
< ShapeletInterpolation
Ptr
 This class is an interpolator to get a Shapelet at an arbitrary position. More...
 
typedef boost::shared_ptr
< const ShapeletInterpolation
ConstPtr
 
typedef float PixelT
 
typedef lsst::pex::policy::Policy Policy
 
typedef
lsst::afw::math::SpatialCellSet 
SpatialCellSet
 
typedef
lsst::afw::image::Exposure
< PixelT
Exposure
 
typedef lsst::afw::geom::PointD PointD
 
typedef
lsst::meas::algorithms::Shapelet 
Shapelet
 

Public Member Functions

 ShapeletInterpolation (const Policy &policy)
 Basic constructor just loads parameters from a policy file. More...
 
 ~ShapeletInterpolation ()
 Destructor needs to delete pImpl. More...
 
 ShapeletInterpolation (const ShapeletInterpolation &rhs)
 Copy constructor does a shallow copy. More...
 
ShapeletInterpolationoperator= (const ShapeletInterpolation &rhs)
 op= does a shallow copy More...
 
int getOrder () const
 get the order of the shapelet More...
 
int getFitOrder () const
 get the order of the fit More...
 
double getSigma () const
 get the scale size of the shapelet More...
 
int getSize () const
 the size of the shapelet vector More...
 
int getFitSize () const
 the number of fit coefficients More...
 
void setSigma (double sigma)
 set a new value of sigma More...
 
void calculate (SpatialCellSet::Ptr cellSet, const Exposure &exposure)
 Calculate the interpolation parameters from a SpatialCellSet. More...
 
Shapelet::ConstPtr interpolate (const PointD &pos) const
 Perform the interpolation. More...
 
Shapelet::ConstPtr interpolate (double x, double y) const
 
double interpolateSingleElement (const PointD &pos, int i) const
 Perform the interpolation for only one shapelet coefficient. More...
 
double interpolateSingleElement (double x, double y, int i) const
 

Private Attributes

ShapeletInterpolationImplpImpl
 

Detailed Description

Definition at line 51 of file ShapeletInterpolation.h.

Member Typedef Documentation

Definition at line 73 of file ShapeletInterpolation.h.

Definition at line 78 of file ShapeletInterpolation.h.

Definition at line 75 of file ShapeletInterpolation.h.

Definition at line 79 of file ShapeletInterpolation.h.

Definition at line 76 of file ShapeletInterpolation.h.

This class is an interpolator to get a Shapelet at an arbitrary position.

In addition to providing an interface to an interpolation function for Shapelets, it also measures the interpolating function.

Thus, the constructor actually just loads some parameters from a Policy file that are needed for the measurement and interpolation.

The measurement and interpolation is then done with the calculate() function.

In practice, the ShapeletInterpolation object is made by ShapeletPsf, and is used by it to implement the interpolation. I don't think there is any reason to make this object separately from a ShapeletPsf.

Definition at line 72 of file ShapeletInterpolation.h.

Definition at line 81 of file ShapeletInterpolation.h.

Definition at line 77 of file ShapeletInterpolation.h.

Constructor & Destructor Documentation

lsst::meas::algorithms::ShapeletInterpolation::ShapeletInterpolation ( const Policy policy)

Basic constructor just loads parameters from a policy file.

Parameters
[in]policy:see policy/ShapeletPsfDeterminerDictionary.paf; sizeCellX/Y are ignored;

Definition at line 157 of file ShapeletInterpolation.cc.

157  :
158  pImpl(new ShapeletInterpolationImpl(policy))
159  {}
lsst::meas::algorithms::ShapeletInterpolation::~ShapeletInterpolation ( )

Destructor needs to delete pImpl.

Definition at line 161 of file ShapeletInterpolation.cc.

162  { delete pImpl; pImpl=0; }
lsst::meas::algorithms::ShapeletInterpolation::ShapeletInterpolation ( const ShapeletInterpolation rhs)

Copy constructor does a shallow copy.

Definition at line 164 of file ShapeletInterpolation.cc.

164  :
165  pImpl(new ShapeletInterpolationImpl(*rhs.pImpl))
166  {}

Member Function Documentation

void lsst::meas::algorithms::ShapeletInterpolation::calculate ( SpatialCellSet::Ptr  cellSet,
const Exposure exposure 
)

Calculate the interpolation parameters from a SpatialCellSet.

The candidates must be ShapeletPsfCandidate's.

Parameters
cellSetthe set of candidates
exposurethe exposure on which to measure the PSF

Definition at line 195 of file ShapeletInterpolation.cc.

198  { pImpl->calculate(cellSet, exposure); }
void calculate(SpatialCellSet::Ptr cellSet, const Exposure &exposure)
int lsst::meas::algorithms::ShapeletInterpolation::getFitOrder ( ) const

get the order of the fit

Definition at line 180 of file ShapeletInterpolation.cc.

int lsst::meas::algorithms::ShapeletInterpolation::getFitSize ( ) const

the number of fit coefficients

Definition at line 189 of file ShapeletInterpolation.cc.

int lsst::meas::algorithms::ShapeletInterpolation::getOrder ( ) const

get the order of the shapelet

Definition at line 177 of file ShapeletInterpolation.cc.

double lsst::meas::algorithms::ShapeletInterpolation::getSigma ( ) const

get the scale size of the shapelet

Definition at line 183 of file ShapeletInterpolation.cc.

int lsst::meas::algorithms::ShapeletInterpolation::getSize ( ) const

the size of the shapelet vector

Definition at line 186 of file ShapeletInterpolation.cc.

Shapelet::ConstPtr lsst::meas::algorithms::ShapeletInterpolation::interpolate ( const PointD pos) const

Perform the interpolation.

Definition at line 200 of file ShapeletInterpolation.cc.

201  { return interpolate(pos.getX(),pos.getY()); }
Shapelet::ConstPtr interpolate(const PointD &pos) const
Perform the interpolation.
Shapelet::ConstPtr lsst::meas::algorithms::ShapeletInterpolation::interpolate ( double  x,
double  y 
) const

Definition at line 202 of file ShapeletInterpolation.cc.

203  { return pImpl->interpolate(x, y); }
int y
double x
Shapelet::ConstPtr interpolate(double x, double y)
double lsst::meas::algorithms::ShapeletInterpolation::interpolateSingleElement ( const PointD pos,
int  i 
) const

Perform the interpolation for only one shapelet coefficient.

Definition at line 205 of file ShapeletInterpolation.cc.

207  { return interpolateSingleElement(pos.getX(),pos.getY(),i); }
double interpolateSingleElement(const PointD &pos, int i) const
Perform the interpolation for only one shapelet coefficient.
double lsst::meas::algorithms::ShapeletInterpolation::interpolateSingleElement ( double  x,
double  y,
int  i 
) const

Definition at line 208 of file ShapeletInterpolation.cc.

210  { return pImpl->interpolateSingleElement(x, y, i); }
int y
double interpolateSingleElement(double x, double y, int i)
double x
ShapeletInterpolation & lsst::meas::algorithms::ShapeletInterpolation::operator= ( const ShapeletInterpolation rhs)

op= does a shallow copy

Definition at line 168 of file ShapeletInterpolation.cc.

169  {
170  if (this != &rhs) {
171  delete pImpl;
172  pImpl = new ShapeletInterpolationImpl(*rhs.pImpl);
173  }
174  return *this;
175  }
void lsst::meas::algorithms::ShapeletInterpolation::setSigma ( double  sigma)

set a new value of sigma

Definition at line 192 of file ShapeletInterpolation.cc.

193  { pImpl->setSigma(sigma); }
afw::table::Key< double > sigma
Definition: GaussianPsf.cc:43

Member Data Documentation

ShapeletInterpolationImpl* lsst::meas::algorithms::ShapeletInterpolation::pImpl
private

Definition at line 159 of file ShapeletInterpolation.h.


The documentation for this class was generated from the following files: