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::ShapeletKernel Class Reference

#include <ShapeletKernel.h>

Inheritance diagram for lsst::meas::algorithms::ShapeletKernel:
lsst::afw::math::AnalyticKernel lsst::afw::table::io::PersistableFacade< AnalyticKernel > lsst::afw::math::Kernel lsst::daf::base::Citizen lsst::daf::base::Persistable lsst::afw::table::io::PersistableFacade< Kernel > lsst::afw::table::io::Persistable

Public Types

typedef boost::shared_ptr
< ShapeletKernel
Ptr
 
typedef boost::shared_ptr
< const ShapeletKernel
ConstPtr
 
typedef
lsst::afw::math::AnalyticKernel 
base
 
typedef lsst::afw::geom::Point2D Point
 
typedef lsst::afw::geom::Extent2I Extent
 
typedef
lsst::afw::image::Image
< double > 
Image
 
typedef lsst::afw::image::Wcs Wcs
 
- Public Types inherited from lsst::afw::math::AnalyticKernel
typedef boost::shared_ptr
< AnalyticKernel
Ptr
 
typedef boost::shared_ptr
< AnalyticKernel const > 
ConstPtr
 
typedef
lsst::afw::math::Function2
< Pixel
KernelFunction
 
typedef boost::shared_ptr
< lsst::afw::math::Function2
< Pixel > > 
KernelFunctionPtr
 
- Public Types inherited from lsst::afw::math::Kernel
typedef double Pixel
 
typedef boost::shared_ptr< KernelPtr
 
typedef boost::shared_ptr
< Kernel const > 
ConstPtr
 
typedef boost::shared_ptr
< lsst::afw::math::Function2
< double > > 
SpatialFunctionPtr
 
typedef
lsst::afw::math::Function2
< double > 
SpatialFunction
 
typedef
lsst::afw::math::NullFunction2
< double > 
NullSpatialFunction
 
typedef generic_kernel_tag kernel_fill_factor
 
- Public Types inherited from lsst::daf::base::Citizen
enum  { magicSentinel = 0xdeadbeef }
 
typedef unsigned long memId
 Type of the block's ID. More...
 
typedef memId(* memNewCallback )(const memId cid)
 A function used to register a callback. More...
 
typedef memId(* memCallback )(const Citizen *ptr)
 
- Public Types inherited from lsst::daf::base::Persistable
typedef boost::shared_ptr
< Persistable
Ptr
 

Public Member Functions

 ShapeletKernel (ShapeletInterpolation::ConstPtr interp, const Wcs::ConstPtr &wcsPtr, const Extent &size)
 Constructor from a ShapeletInterpolation. More...
 
 ShapeletKernel (ShapeletInterpolation::ConstPtr interp, const Wcs::ConstPtr &wcsPtr)
 
LocalShapeletKernel::ConstPtr getLocalKernel (const Point &pos) const
 Get the LocalShapeletKernel at a given point. More...
 
double computeImage (Image &image, bool doNormalize, double x=0.0, double y=0.0) const
 Make an image of the kernel at a specified location. More...
 
- Public Member Functions inherited from lsst::afw::math::AnalyticKernel
 AnalyticKernel ()
 Construct an empty spatially invariant AnalyticKernel of size 0x0. More...
 
 AnalyticKernel (int width, int height, KernelFunction const &kernelFunction, Kernel::SpatialFunction const &spatialFunction=NullSpatialFunction())
 Construct a spatially invariant AnalyticKernel, or a spatially varying AnalyticKernel where the spatial model is described by one function (that is cloned to give one per analytic function parameter). More...
 
 AnalyticKernel (int width, int height, KernelFunction const &kernelFunction, std::vector< Kernel::SpatialFunctionPtr > const &spatialFunctionList)
 Construct a spatially varying AnalyticKernel, where the spatial model is described by a list of functions (one per analytic function parameter). More...
 
virtual ~AnalyticKernel ()
 
virtual boost::shared_ptr< Kernelclone () const
 Return a pointer to a deep copy of this kernel. More...
 
double computeImage (lsst::afw::image::Image< Pixel > &image, bool doNormalize, double x=0.0, double y=0.0) const
 Compute an image (pixellized representation of the kernel) in place. More...
 
virtual std::vector< double > getKernelParameters () const
 Return the current kernel parameters. More...
 
virtual KernelFunctionPtr getKernelFunction () const
 Get a deep copy of the kernel function. More...
 
virtual std::string toString (std::string const &prefix="") const
 Return a string representation of the kernel. More...
 
virtual bool isPersistable () const
 Return true if this particular object can be persisted using afw::table::io. More...
 
- Public Member Functions inherited from lsst::afw::math::Kernel
 Kernel ()
 Construct a null Kernel of size 0,0. More...
 
 Kernel (int width, int height, unsigned int nKernelParams, SpatialFunction const &spatialFunction=NullSpatialFunction())
 Construct a spatially invariant Kernel or a spatially varying Kernel with one spatial function that is duplicated as needed. More...
 
 Kernel (int width, int height, const std::vector< SpatialFunctionPtr > spatialFunctionList)
 Construct a spatially varying Kernel with a list of spatial functions (one per kernel parameter) More...
 
virtual ~Kernel ()
 
double computeImage (lsst::afw::image::Image< Pixel > &image, bool doNormalize, double x=0.0, double y=0.0) const
 Compute an image (pixellized representation of the kernel) in place. More...
 
geom::Extent2I const getDimensions () const
 Return the Kernel's dimensions (width, height) More...
 
void setDimensions (geom::Extent2I dims)
 
void setWidth (int width)
 
void setHeight (int height)
 
int getWidth () const
 Return the Kernel's width. More...
 
int getHeight () const
 Return the Kernel's height. More...
 
lsst::afw::geom::Point2I getCtr () const
 Return index of kernel's center. More...
 
int getCtrX () const
 Return x index of kernel's center. More...
 
int getCtrY () const
 Return y index of kernel's center. More...
 
lsst::afw::geom::Box2I getBBox () const
 return parent bounding box, with XY0 = -center More...
 
unsigned int getNKernelParameters () const
 Return the number of kernel parameters (0 if none) More...
 
int getNSpatialParameters () const
 Return the number of spatial parameters (0 if not spatially varying) More...
 
SpatialFunctionPtr getSpatialFunction (unsigned int index) const
 Return a clone of the specified spatial function (one component of the spatial model) More...
 
std::vector< SpatialFunctionPtrgetSpatialFunctionList () const
 Return a list of clones of the spatial functions. More...
 
virtual double getKernelParameter (unsigned int i) const
 
lsst::afw::geom::Box2I growBBox (lsst::afw::geom::Box2I const &bbox) const
 
lsst::afw::geom::Box2I shrinkBBox (lsst::afw::geom::Box2I const &bbox) const
 
void setCtr (lsst::afw::geom::Point2I ctr)
 Set index of kernel's center. More...
 
void setCtrX (int ctrX)
 Set x index of kernel's center. More...
 
void setCtrY (int ctrY)
 Set y index of kernel's center. More...
 
std::vector< std::vector
< double > > 
getSpatialParameters () const
 Return the spatial parameters parameters (an empty vector if not spatially varying) More...
 
bool isSpatiallyVarying () const
 Return true iff the kernel is spatially varying (has a spatial function) More...
 
void setKernelParameters (std::vector< double > const &params)
 Set the kernel parameters of a spatially invariant kernel. More...
 
void setKernelParameters (std::pair< double, double > const &params)
 Set the kernel parameters of a 2-component spatially invariant kernel. More...
 
void setSpatialParameters (const std::vector< std::vector< double > > params)
 Set the parameters of all spatial functions. More...
 
void computeKernelParametersFromSpatialModel (std::vector< double > &kernelParams, double x, double y) const
 Compute the kernel parameters at a specified point. More...
 
virtual void computeCache (int const )
 Compute a cache of Kernel values, if desired. More...
 
virtual int getCacheSize () const
 Get the current size of the kernel cache (0 if none or if caches not supported) More...
 
- Public Member Functions inherited from lsst::daf::base::Citizen
 Citizen (const std::type_info &)
 
 Citizen (Citizen const &)
 
 ~Citizen ()
 
Citizenoperator= (Citizen const &)
 
std::string repr () const
 Return a string representation of a Citizen. More...
 
void markPersistent (void)
 Mark a Citizen as persistent and not destroyed until process end. More...
 
memId getId () const
 Return the Citizen's ID. More...
 
- Public Member Functions inherited from lsst::daf::base::Persistable
 Persistable (void)
 
virtual ~Persistable (void)
 
template<class Archive >
void serialize (Archive &, unsigned int const)
 
- Public Member Functions inherited from lsst::afw::table::io::Persistable
void writeFits (std::string const &fileName, std::string const &mode="w") const
 Write the object to a regular FITS file. More...
 
void writeFits (fits::MemFileManager &manager, std::string const &mode="w") const
 Write the object to a FITS image in memory. More...
 
void writeFits (fits::Fits &fitsfile) const
 Write the object to an already-open FITS object. More...
 
virtual ~Persistable ()
 

Private Attributes

ShapeletInterpolation::ConstPtr _interp
 
const Wcs::Ptr _wcsPtr
 

Additional Inherited Members

- Static Public Member Functions inherited from lsst::afw::table::io::PersistableFacade< AnalyticKernel >
static boost::shared_ptr
< AnalyticKernel > 
readFits (fits::Fits &fitsfile)
 Read an object from an already open FITS object. More...
 
static boost::shared_ptr
< AnalyticKernel > 
readFits (std::string const &fileName, int hdu=0)
 Read an object from a regular FITS file. More...
 
static boost::shared_ptr
< AnalyticKernel > 
readFits (fits::MemFileManager &manager, int hdu=0)
 Read an object from a FITS file in memory. More...
 
- Static Public Member Functions inherited from lsst::daf::base::Citizen
static bool hasBeenCorrupted ()
 Check all allocated blocks for corruption. More...
 
static memId getNextMemId ()
 Return the memId of the next object to be allocated. More...
 
static int init ()
 Called once when the memory system is being initialised. More...
 
static int census (int, memId startingMemId=0)
 How many active Citizens are there? More...
 
static void census (std::ostream &stream, memId startingMemId=0)
 Print a list of all active Citizens to stream, sorted by ID. More...
 
static const std::vector
< const Citizen * > * 
census ()
 Return a (newly allocated) std::vector of active Citizens sorted by ID. More...
 
static memId setNewCallbackId (memId id)
 Call the NewCallback when block is allocated. More...
 
static memId setDeleteCallbackId (memId id)
 Call the current DeleteCallback when block is deleted. More...
 
static memNewCallback setNewCallback (memNewCallback func)
 Set the NewCallback function. More...
 
static memCallback setDeleteCallback (memCallback func)
 Set the DeleteCallback function. More...
 
static memCallback setCorruptionCallback (memCallback func)
 Set the CorruptionCallback function. More...
 
- Static Public Member Functions inherited from lsst::afw::table::io::PersistableFacade< Kernel >
static boost::shared_ptr< Kernel > readFits (fits::Fits &fitsfile)
 Read an object from an already open FITS object. More...
 
static boost::shared_ptr< Kernel > readFits (std::string const &fileName, int hdu=0)
 Read an object from a regular FITS file. More...
 
static boost::shared_ptr< Kernel > readFits (fits::MemFileManager &manager, int hdu=0)
 Read an object from a FITS file in memory. More...
 
- Protected Types inherited from lsst::afw::table::io::Persistable
typedef io::OutputArchiveHandle OutputArchiveHandle
 
- Protected Member Functions inherited from lsst::afw::math::AnalyticKernel
virtual double doComputeImage (lsst::afw::image::Image< Pixel > &image, bool doNormalize) const
 Low-level version of computeImage. More...
 
virtual std::string getPersistenceName () const
 Return the unique name used to persist this object and look up its factory. More...
 
virtual void write (OutputArchiveHandle &handle) const
 Write the object to one or more catalogs. More...
 
virtual void setKernelParameter (unsigned int ind, double value) const
 Set one kernel parameter. More...
 
template<class Archive >
void serialize (Archive &ar, unsigned int const version)
 
- Protected Member Functions inherited from lsst::afw::math::Kernel
virtual std::string getPythonModule () const
 Return the fully-qualified Python module that should be imported to guarantee that its factory is registered. More...
 
void setKernelParametersFromSpatialModel (double x, double y) const
 Set the kernel parameters from the spatial model (if any). More...
 
- Protected Member Functions inherited from lsst::afw::table::io::Persistable
 Persistable ()
 
 Persistable (Persistable const &other)
 
void operator= (Persistable const &other)
 
- Protected Attributes inherited from lsst::afw::math::AnalyticKernel
KernelFunctionPtr _kernelFunctionPtr
 
- Protected Attributes inherited from lsst::afw::math::Kernel
std::vector< SpatialFunctionPtr_spatialFunctionList
 

Detailed Description

Definition at line 149 of file ShapeletKernel.h.

Member Typedef Documentation

Definition at line 172 of file ShapeletKernel.h.

Definition at line 170 of file ShapeletKernel.h.

Definition at line 174 of file ShapeletKernel.h.

Definition at line 175 of file ShapeletKernel.h.

Definition at line 173 of file ShapeletKernel.h.

Definition at line 169 of file ShapeletKernel.h.

Definition at line 176 of file ShapeletKernel.h.

Constructor & Destructor Documentation

lsst::meas::algorithms::ShapeletKernel::ShapeletKernel ( ShapeletInterpolation::ConstPtr  interp,
const Wcs::ConstPtr wcsPtr,
const Extent size 
)

Constructor from a ShapeletInterpolation.

If the size is omitted, then the width and height are automatically calculated from the scale size of the shapelet, going out to 5 sigma.

The default destructor, copy constructor and op= do the right thing. The copy and op= are shallow (shared) copies.

The Wcs information is needed because the natural reference frame for describing (and especially interpolating) the Psf is usually in world coordinates rather than chip coordinates. So the dimensional units in the shapelet function are arcsec. This is converted to pixels when constructing an image.

Parameters
interpAn interpolating function for shapelets
wcsPtrThe Wcs information for the image
sizewidth/height of Kernel image

Definition at line 180 of file ShapeletKernel.cc.

183  :
184  base( getImageSize(interp,size.getX()),
185  getImageSize(interp,size.getY()),
186  ShapeletKernelFunction(interp->getOrder(),interp->getSize()),
187  buildSetOfSpatialFunctions(interp) ),
188  _interp(interp), _wcsPtr(wcsPtr->clone())
189  {}
std::vector< lsst::afw::math::Kernel::SpatialFunctionPtr > buildSetOfSpatialFunctions(ShapeletInterpolation::ConstPtr interp)
ShapeletInterpolation::ConstPtr _interp
int getImageSize(ShapeletPtr shapelet, int size)
lsst::afw::math::AnalyticKernel base
lsst::meas::algorithms::ShapeletKernel::ShapeletKernel ( ShapeletInterpolation::ConstPtr  interp,
const Wcs::ConstPtr wcsPtr 
)
Parameters
interpAn interpolating function for shapelets
wcsPtrThe Wcs information for the image

Definition at line 191 of file ShapeletKernel.cc.

193  :
194  base( getImageSize(interp,0),
195  getImageSize(interp,0),
196  ShapeletKernelFunction(interp->getOrder(),interp->getSize()),
197  buildSetOfSpatialFunctions(interp) ),
198  _interp(interp), _wcsPtr(wcsPtr->clone())
199  {}
std::vector< lsst::afw::math::Kernel::SpatialFunctionPtr > buildSetOfSpatialFunctions(ShapeletInterpolation::ConstPtr interp)
ShapeletInterpolation::ConstPtr _interp
int getImageSize(ShapeletPtr shapelet, int size)
lsst::afw::math::AnalyticKernel base

Member Function Documentation

double lsst::meas::algorithms::ShapeletKernel::computeImage ( Image image,
bool  doNormalize,
double  x = 0.0,
double  y = 0.0 
) const

Make an image of the kernel at a specified location.

computeImage can be done more efficiently than the AnalyticKernel version from KernelFunction.

This is equivalent to: getLocalKernel(Point(x,y))->computeImage(image,doNormalize);

Parameters
imageimage whose pixels are to be set (output)
doNormalizenormalize the image (so sum is 1)?
xthe x component of the position to interpolate to
ythe y component of the position to interpolate to

Definition at line 210 of file ShapeletKernel.cc.

212  {
213  Point point(x,y);
214  return getLocalKernel(point)->computeImage(image,doNormalize);
215  }
int y
table::Key< table::Array< Kernel::Pixel > > image
Definition: FixedKernel.cc:117
double x
LocalShapeletKernel::ConstPtr getLocalKernel(const Point &pos) const
Get the LocalShapeletKernel at a given point.
LocalShapeletKernel::ConstPtr lsst::meas::algorithms::ShapeletKernel::getLocalKernel ( const Point pos) const

Get the LocalShapeletKernel at a given point.

pos is given in chip coordinates (i.e. units are pixels).

Parameters
posthe position to interpolate to

Definition at line 201 of file ShapeletKernel.cc.

203  {
204  Shapelet::ConstPtr localShapelet(_interp->interpolate(pos));
205  LocalShapeletKernel::ConstPtr localShapeletKernel(
206  new LocalShapeletKernel(localShapelet, _wcsPtr));
207  return localShapeletKernel;
208  }
ShapeletInterpolation::ConstPtr _interp
boost::shared_ptr< const LocalShapeletKernel > ConstPtr
boost::shared_ptr< const Shapelet > ConstPtr
Definition: Shapelet.h:95

Member Data Documentation

ShapeletInterpolation::ConstPtr lsst::meas::algorithms::ShapeletKernel::_interp
private

Definition at line 231 of file ShapeletKernel.h.

const Wcs::Ptr lsst::meas::algorithms::ShapeletKernel::_wcsPtr
private

Definition at line 232 of file ShapeletKernel.h.


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