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
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
lsst::afw::math::DeltaFunctionKernel Class Reference

A kernel that has only one non-zero pixel (of value 1) More...

#include <Kernel.h>

Inheritance diagram for lsst::afw::math::DeltaFunctionKernel:
lsst::afw::table::io::PersistableFacade< DeltaFunctionKernel > lsst::afw::math::Kernel lsst::daf::base::Citizen lsst::daf::base::Persistable lsst::afw::table::io::PersistableFacade< Kernel > lsst::afw::table::io::Persistable

Classes

class  Factory
 

Public Types

typedef boost::shared_ptr
< DeltaFunctionKernel
Ptr
 
typedef boost::shared_ptr
< DeltaFunctionKernel const > 
ConstPtr
 
typedef deltafunction_kernel_tag kernel_fill_factor
 
- 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

 DeltaFunctionKernel (int width, int height, lsst::afw::geom::Point2I const &point)
 Construct a spatially invariant DeltaFunctionKernel. More...
 
virtual ~DeltaFunctionKernel ()
 
virtual boost::shared_ptr< Kernelclone () const
 Return a pointer to a deep copy of this kernel. More...
 
lsst::afw::geom::Point2I getPixel () const
 
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
 
virtual std::vector< double > getKernelParameters () const
 Return the current kernel parameters. More...
 
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 ()
 

Protected Member Functions

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...
 
- 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...
 
virtual void setKernelParameter (unsigned int ind, double value) const
 Set one kernel parameter. 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)
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, unsigned int const version)
 

Private Attributes

lsst::afw::geom::Point2I _pixel
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Static Public Member Functions inherited from lsst::afw::table::io::PersistableFacade< DeltaFunctionKernel >
static boost::shared_ptr
< DeltaFunctionKernel > 
readFits (fits::Fits &fitsfile)
 Read an object from an already open FITS object. More...
 
static boost::shared_ptr
< DeltaFunctionKernel > 
readFits (std::string const &fileName, int hdu=0)
 Read an object from a regular FITS file. More...
 
static boost::shared_ptr
< DeltaFunctionKernel > 
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 Attributes inherited from lsst::afw::math::Kernel
std::vector< SpatialFunctionPtr_spatialFunctionList
 

Detailed Description

A kernel that has only one non-zero pixel (of value 1)

It has no adjustable parameters and so cannot be spatially varying.

Definition at line 744 of file Kernel.h.

Member Typedef Documentation

Definition at line 749 of file Kernel.h.

Definition at line 751 of file Kernel.h.

Definition at line 748 of file Kernel.h.

Constructor & Destructor Documentation

lsst::afw::math::DeltaFunctionKernel::DeltaFunctionKernel ( int  width,
int  height,
lsst::afw::geom::Point2I const &  point 
)
explicit

Construct a spatially invariant DeltaFunctionKernel.

Exceptions
pexExcept::InvalidParameterErrorif active pixel is off the kernel
Parameters
widthkernel size (columns)
heightkernel size (rows)
pointindex of active pixel (where 0,0 is the lower left corner)

Definition at line 36 of file DeltaFunctionKernel.cc.

40  :
41  Kernel(width, height, 0),
42  _pixel(point)
43 {
44  if (point.getX() < 0 || point.getX() >= width || point.getY() < 0 || point.getY() >= height) {
45  std::ostringstream os;
46  os << "point (" << point.getX() << ", " << point.getY() << ") lies outside "
47  << width << "x" << height << " sized kernel";
48  throw LSST_EXCEPT(pexExcept::InvalidParameterError, os.str());
49  }
50 }
lsst::afw::geom::Point2I _pixel
Definition: Kernel.h:787
void ImageT ImageT int float saturatedPixelValue int const width
Definition: saturated.cc:44
void ImageT ImageT int float saturatedPixelValue int const height
Definition: saturated.cc:44
#define LSST_EXCEPT(type,...)
Definition: Exception.h:46
Kernel()
Construct a null Kernel of size 0,0.
Definition: Kernel.cc:51
virtual lsst::afw::math::DeltaFunctionKernel::~DeltaFunctionKernel ( )
inlinevirtual

Definition at line 764 of file Kernel.h.

764 {}

Member Function Documentation

boost::shared_ptr< afwMath::Kernel > lsst::afw::math::DeltaFunctionKernel::clone ( ) const
virtual

Return a pointer to a deep copy of this kernel.

This kernel exists instead of a copy constructor so one can obtain a copy of an actual kernel instead of a useless copy of the base class.

Every kernel subclass must override this method.

Returns
a pointer to a deep copy of the kernel

Implements lsst::afw::math::Kernel.

Definition at line 52 of file DeltaFunctionKernel.cc.

52  {
53  PTR(afwMath::Kernel) retPtr(new afwMath::DeltaFunctionKernel(this->getWidth(), this->getHeight(),
54  this->_pixel));
55  retPtr->setCtr(this->getCtr());
56  return retPtr;
57 }
DeltaFunctionKernel(int width, int height, lsst::afw::geom::Point2I const &point)
Construct a spatially invariant DeltaFunctionKernel.
#define PTR(...)
Definition: base.h:41
lsst::afw::geom::Point2I _pixel
Definition: Kernel.h:787
int getHeight() const
Return the Kernel&#39;s height.
Definition: Kernel.h:247
int getWidth() const
Return the Kernel&#39;s width.
Definition: Kernel.h:240
void setCtr(lsst::afw::geom::Point2I ctr)
Set index of kernel&#39;s center.
Definition: Kernel.h:361
lsst::afw::geom::Point2I getCtr() const
Return index of kernel&#39;s center.
Definition: Kernel.h:254
Kernels are used for convolution with MaskedImages and (eventually) Images.
Definition: Kernel.h:134
double lsst::afw::math::DeltaFunctionKernel::doComputeImage ( lsst::afw::image::Image< Pixel > &  image,
bool  doNormalize 
) const
protectedvirtual

Low-level version of computeImage.

Before this is called the image dimensions are checked, the image's xy0 is set and the kernel's parameters are set. This routine sets the pixels, including normalization if requested.

Returns
The kernel sum

Implements lsst::afw::math::Kernel.

Definition at line 70 of file DeltaFunctionKernel.cc.

73  {
74  const int pixelX = getPixel().getX(); // active pixel in Kernel
75  const int pixelY = getPixel().getY();
76 
77  image = 0;
78  *image.xy_at(pixelX, pixelY) = 1;
79 
80  return 1;
81 }
lsst::afw::geom::Point2I getPixel() const
Definition: Kernel.h:768
xy_locator xy_at(int x, int y) const
Definition: Image.h:351
std::string lsst::afw::math::DeltaFunctionKernel::getPersistenceName ( ) const
protectedvirtual

Return the unique name used to persist this object and look up its factory.

Must be less than ArchiveIndexSchema::MAX_NAME_LENGTH characters.

Reimplemented from lsst::afw::table::io::Persistable.

Definition at line 139 of file DeltaFunctionKernel.cc.

139  {
140  return getDeltaFunctionKernelPersistenceName();
141 }
lsst::afw::geom::Point2I lsst::afw::math::DeltaFunctionKernel::getPixel ( ) const
inline

Definition at line 768 of file Kernel.h.

768 { return _pixel; }
lsst::afw::geom::Point2I _pixel
Definition: Kernel.h:787
virtual bool lsst::afw::math::DeltaFunctionKernel::isPersistable ( ) const
inlinevirtual

Return true if this particular object can be persisted using afw::table::io.

Reimplemented from lsst::afw::table::io::Persistable.

Definition at line 772 of file Kernel.h.

772 { return true; }
template<class Archive >
void lsst::afw::math::DeltaFunctionKernel::serialize ( Archive &  ar,
unsigned int const  version 
)
inlineprivate

Definition at line 791 of file Kernel.h.

791  {
792  boost::serialization::void_cast_register<
794  static_cast<DeltaFunctionKernel*>(0),
795  static_cast<Kernel*>(0));
796  }
DeltaFunctionKernel(int width, int height, lsst::afw::geom::Point2I const &point)
Construct a spatially invariant DeltaFunctionKernel.
Kernel()
Construct a null Kernel of size 0,0.
Definition: Kernel.cc:51
std::string lsst::afw::math::DeltaFunctionKernel::toString ( std::string const &  prefix = "") const
virtual

Return a string representation of the kernel.

Reimplemented from lsst::afw::math::Kernel.

Definition at line 59 of file DeltaFunctionKernel.cc.

59  {
60  const int pixelX = getPixel().getX(); // active pixel in Kernel
61  const int pixelY = getPixel().getY();
62 
63  std::ostringstream os;
64  os << prefix << "DeltaFunctionKernel:" << std::endl;
65  os << prefix << "Pixel (c,r) " << pixelX << "," << pixelY << ")" << std::endl;
66  os << Kernel::toString(prefix + "\t");
67  return os.str();
68 }
virtual std::string toString(std::string const &prefix="") const
Return a string representation of the kernel.
Definition: Kernel.cc:224
lsst::afw::geom::Point2I getPixel() const
Definition: Kernel.h:768
void lsst::afw::math::DeltaFunctionKernel::write ( OutputArchiveHandle handle) const
protectedvirtual

Write the object to one or more catalogs.

The handle object passed to this function provides an interface for adding new catalogs and adding nested objects to the same archive (while checking for duplicates). See OutputArchiveHandle for more information.

Reimplemented from lsst::afw::table::io::Persistable.

Definition at line 143 of file DeltaFunctionKernel.cc.

143  {
144  DeltaFunctionKernelPersistenceHelper const & keys = DeltaFunctionKernelPersistenceHelper::get();
145  PTR(afw::table::BaseRecord) record = keys.write(handle, *this);
146  record->set(keys.pixel, _pixel);
147 }
#define PTR(...)
Definition: base.h:41
lsst::afw::geom::Point2I _pixel
Definition: Kernel.h:787
virtual void write(OutputArchiveHandle &handle) const
Write the object to one or more catalogs.
table::PointKey< int > pixel

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 789 of file Kernel.h.

Member Data Documentation

lsst::afw::geom::Point2I lsst::afw::math::DeltaFunctionKernel::_pixel
private

Definition at line 787 of file Kernel.h.


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