LSSTApplications
17.0+11,17.0+34,17.0+56,17.0+57,17.0+59,17.0+7,17.0-1-g377950a+33,17.0.1-1-g114240f+2,17.0.1-1-g4d4fbc4+28,17.0.1-1-g55520dc+49,17.0.1-1-g5f4ed7e+52,17.0.1-1-g6dd7d69+17,17.0.1-1-g8de6c91+11,17.0.1-1-gb9095d2+7,17.0.1-1-ge9fec5e+5,17.0.1-1-gf4e0155+55,17.0.1-1-gfc65f5f+50,17.0.1-1-gfc6fb1f+20,17.0.1-10-g87f9f3f+1,17.0.1-11-ge9de802+16,17.0.1-16-ga14f7d5c+4,17.0.1-17-gc79d625+1,17.0.1-17-gdae4c4a+8,17.0.1-2-g26618f5+29,17.0.1-2-g54f2ebc+9,17.0.1-2-gf403422+1,17.0.1-20-g2ca2f74+6,17.0.1-23-gf3eadeb7+1,17.0.1-3-g7e86b59+39,17.0.1-3-gb5ca14a,17.0.1-3-gd08d533+40,17.0.1-30-g596af8797,17.0.1-4-g59d126d+4,17.0.1-4-gc69c472+5,17.0.1-6-g5afd9b9+4,17.0.1-7-g35889ee+1,17.0.1-7-gc7c8782+18,17.0.1-9-gc4bbfb2+3,w.2019.22
LSSTDataManagementBasePackage
|
A kernel created from an Image. More...
#include <Kernel.h>
Classes | |
class | Factory |
Public Types | |
typedef double | Pixel |
typedef std::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 |
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 Member Functions | |
FixedKernel () | |
Construct an empty FixedKernel of size 0x0. More... | |
FixedKernel (lsst::afw::image::Image< Pixel > const &image) | |
Construct a FixedKernel from an image. More... | |
FixedKernel (lsst::afw::math::Kernel const &kernel, lsst::geom::Point2D const &pos) | |
Construct a FixedKernel from a generic Kernel. More... | |
FixedKernel (const FixedKernel &)=delete | |
FixedKernel (FixedKernel &&)=delete | |
FixedKernel & | operator= (const FixedKernel &)=delete |
FixedKernel & | operator= (FixedKernel &&)=delete |
~FixedKernel () override=default | |
std::shared_ptr< Kernel > | clone () const override |
Return a pointer to a deep copy of this kernel. More... | |
std::shared_ptr< Kernel > | resized (int width, int height) const override |
Return a pointer to a clone with specified kernel dimensions. More... | |
std::string | toString (std::string const &prefix="") const override |
Return a string representation of the kernel. More... | |
virtual Pixel | getSum () const |
bool | isPersistable () const noexcept override |
Return true if this particular object can be persisted using afw::table::io. 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... | |
lsst::geom::Extent2I const | getDimensions () const |
Return the Kernel's dimensions (width, height) More... | |
void | setDimensions (lsst::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::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::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< SpatialFunctionPtr > | getSpatialFunctionList () const |
Return a list of clones of the spatial functions. More... | |
virtual double | getKernelParameter (unsigned int i) const |
Return a particular Kernel Parameter (no bounds checking). More... | |
virtual std::vector< double > | getKernelParameters () const |
Return the current kernel parameters. More... | |
lsst::geom::Box2I | growBBox (lsst::geom::Box2I const &bbox) const |
Given a bounding box for pixels one wishes to compute by convolving an image with this kernel, return the bounding box of pixels that must be accessed on the image to be convolved. More... | |
lsst::geom::Box2I | shrinkBBox (lsst::geom::Box2I const &bbox) const |
Given a bounding box for an image one wishes to convolve with this kernel, return the bounding box for the region of pixels that can be computed. More... | |
void | setCtr (lsst::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 ¶ms) |
Set the kernel parameters of a spatially invariant kernel. More... | |
void | setKernelParameters (std::pair< double, double > const ¶ms) |
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... | |
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... | |
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... | |
Static Public Member Functions | |
static std::shared_ptr< FixedKernel > | readFits (fits::Fits &fitsfile) |
Read an object from an already open FITS object. More... | |
static std::shared_ptr< FixedKernel > | readFits (std::string const &fileName, int hdu=fits::DEFAULT_HDU) |
Read an object from a regular FITS file. More... | |
static std::shared_ptr< FixedKernel > | readFits (fits::MemFileManager &manager, int hdu=fits::DEFAULT_HDU) |
Read an object from a FITS file in memory. More... | |
static std::shared_ptr< FixedKernel > | dynamicCast (std::shared_ptr< Persistable > const &ptr) |
Dynamically cast a shared_ptr. More... | |
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 std::shared_ptr< Kernel > | readFits (fits::Fits &fitsfile) |
Read an object from an already open FITS object. More... | |
static std::shared_ptr< Kernel > | readFits (std::string const &fileName, int hdu=fits::DEFAULT_HDU) |
Read an object from a regular FITS file. More... | |
static std::shared_ptr< Kernel > | readFits (fits::MemFileManager &manager, int hdu=fits::DEFAULT_HDU) |
Read an object from a FITS file in memory. More... | |
static std::shared_ptr< Kernel > | dynamicCast (std::shared_ptr< Persistable > const &ptr) |
Dynamically cast a shared_ptr. More... | |
Census | |
Provide a list of current Citizens | |
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... | |
callbackIDs | |
Set callback Ids. The old Id is returned | |
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... | |
callbacks | |
Set the New/Delete callback functions; in each case the previously installed callback is returned. These callback functions return a value which is Added to the previously registered id. The default callback functions are called default{New,Delete}Callback; you may want to set a break point in these callbacks from your favourite debugger | |
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... | |
Protected Types | |
typedef io::OutputArchiveHandle | OutputArchiveHandle |
Protected Member Functions | |
double | doComputeImage (lsst::afw::image::Image< Pixel > &image, bool doNormalize) const override |
Low-level version of computeImage. More... | |
std::string | getPersistenceName () const override |
Return the unique name used to persist this object and look up its factory. More... | |
void | write (OutputArchiveHandle &handle) const override |
Write the object to one or more catalogs. More... | |
std::string | getPythonModule () const override |
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 Attributes | |
std::vector< SpatialFunctionPtr > | _spatialFunctionList |
A kernel created from an Image.
It has no adjustable parameters and so cannot be spatially varying.
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
Definition at line 108 of file Persistable.h.
|
inherited |
|
inherited |
|
inherited |
|
explicit |
Construct an empty FixedKernel of size 0x0.
Definition at line 42 of file FixedKernel.cc.
|
explicit |
Construct a FixedKernel from an image.
image | image for kernel |
Definition at line 44 of file FixedKernel.cc.
|
explicit |
Construct a FixedKernel from a generic Kernel.
kernel | Kernel to convert to Fixed |
pos | desired position |
Definition at line 56 of file FixedKernel.cc.
|
delete |
|
delete |
|
overridedefault |
|
staticinherited |
How many active Citizens are there?
startingMemId | Don't print Citizens with lower IDs |
Definition at line 238 of file Citizen.cc.
|
staticinherited |
Print a list of all active Citizens to stream, sorted by ID.
stream | stream to print to |
startingMemId | Don't print Citizens with lower IDs |
Definition at line 259 of file Citizen.cc.
|
staticinherited |
Return a (newly allocated) std::vector of active Citizens sorted by ID.
You are responsible for deleting it; or you can say std::unique_ptr<std::vector<Citizen const*> const> leaks(Citizen::census()); and not bother (that becomes std::unique_ptr in C++11)
Definition at line 287 of file Citizen.cc.
|
overridevirtual |
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.
Implements lsst::afw::math::Kernel.
Definition at line 61 of file FixedKernel.cc.
|
inlinevirtualinherited |
Compute a cache of Kernel values, if desired.
const | desired cache size |
Reimplemented in lsst::afw::math::SeparableKernel.
|
inherited |
Compute an image (pixellized representation of the kernel) in place.
image | image whose pixels are to be set (output); xy0 of the image will be set to -kernel.getCtr() |
doNormalize | normalize the image (so sum is 1)? |
x | x (column position) at which to compute spatial function |
y | y (row position) at which to compute spatial function |
lsst::pex::exceptions::InvalidParameterError | if the image is the wrong size |
lsst::pex::exceptions::OverflowError | if doNormalize is true and the kernel sum is exactly 0 |
Definition at line 93 of file Kernel.cc.
|
inherited |
Compute the kernel parameters at a specified point.
Warning: this is a low-level function that assumes kernelParams is the right length. It will fail in unpredictable ways if that condition is not met.
Definition at line 153 of file Kernel.cc.
|
overrideprotectedvirtual |
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.
image | image whose pixels are to be set (output) |
doNormalize | normalize the image (so sum is 1)? |
Implements lsst::afw::math::Kernel.
Definition at line 104 of file FixedKernel.cc.
|
staticinherited |
Dynamically cast a shared_ptr.
Dynamically cast a shared pointer and raise on failure.
You must provide an explicit template instantiation in the .cc file for each class that inherits from PersistableFacade. Designed to work around RTTI issues on macOS with hidden symbols;
lsst::pex::exceptions::LogicError | if the cast fails |
param[in] ptr The pointer to be cast.
lsst::pex::exceptions::TypeError | If the dynamic cast fails. |
Definition at line 18 of file Persistable.cc.
|
staticinherited |
Dynamically cast a shared_ptr.
Dynamically cast a shared pointer and raise on failure.
You must provide an explicit template instantiation in the .cc file for each class that inherits from PersistableFacade. Designed to work around RTTI issues on macOS with hidden symbols;
lsst::pex::exceptions::LogicError | if the cast fails |
param[in] ptr The pointer to be cast.
lsst::pex::exceptions::TypeError | If the dynamic cast fails. |
Definition at line 18 of file Persistable.cc.
|
inlineinherited |
return parent bounding box, with XY0 = -center
Definition at line 257 of file Kernel.h.
|
inlinevirtualinherited |
Get the current size of the kernel cache (0 if none or if caches not supported)
Reimplemented in lsst::afw::math::SeparableKernel.
|
inlineinherited |
|
inlineinherited |
Return x index of kernel's center.
|
inlineinherited |
Return y index of kernel's center.
|
inlineinherited |
|
inlineinherited |
|
inherited |
|
inlinevirtualinherited |
Return a particular Kernel Parameter (no bounds checking).
This version is slow, but specialisations may be faster
Reimplemented in lsst::afw::math::SeparableKernel.
Definition at line 295 of file Kernel.h.
|
virtualinherited |
Return the current kernel parameters.
If the kernel is spatially varying then the parameters are those last computed. See also computeKernelParametersFromSpatialModel. If there are no kernel parameters then returns an empty vector.
Reimplemented in lsst::afw::math::SeparableKernel, lsst::afw::math::LinearCombinationKernel, and lsst::afw::math::AnalyticKernel.
Definition at line 184 of file Kernel.cc.
|
staticinherited |
Return the memId of the next object to be allocated.
Definition at line 209 of file Citizen.cc.
|
inlineinherited |
|
inlineinherited |
Return the number of spatial parameters (0 if not spatially varying)
Definition at line 269 of file Kernel.h.
|
overrideprotectedvirtual |
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 179 of file FixedKernel.cc.
|
overrideprotectedvirtualinherited |
Return the fully-qualified Python module that should be imported to guarantee that its factory is registered.
Must be less than ArchiveIndexSchema::MAX_MODULE_LENGTH characters.
Will be ignored if empty.
Reimplemented from lsst::afw::table::io::Persistable.
|
inherited |
Return a clone of the specified spatial function (one component of the spatial model)
index | index of desired spatial function; must be in range [0, number spatial parameters - 1] |
lsst::pex::exceptions::InvalidParameterError | if kernel not spatially varying |
lsst::pex::exceptions::InvalidParameterError | if index out of range |
Definition at line 162 of file Kernel.cc.
|
inherited |
Return a list of clones of the spatial functions.
Definition at line 175 of file Kernel.cc.
|
inlineinherited |
Return the spatial parameters parameters (an empty vector if not spatially varying)
Definition at line 359 of file Kernel.h.
|
inlinevirtual |
|
inlineinherited |
|
inherited |
Given a bounding box for pixels one wishes to compute by convolving an image with this kernel, return the bounding box of pixels that must be accessed on the image to be convolved.
Thus the box shifted by -kernel.getCtr() and its size is expanded by kernel.getDimensions()-1.
Definition at line 186 of file Kernel.cc.
|
staticinherited |
Check all allocated blocks for corruption.
Definition at line 316 of file Citizen.cc.
|
staticinherited |
Called once when the memory system is being initialised.
Definition at line 196 of file Citizen.cc.
|
inlineoverridevirtualnoexcept |
Return true if this particular object can be persisted using afw::table::io.
Reimplemented from lsst::afw::table::io::Persistable.
|
inlineinherited |
Return true iff the kernel is spatially varying (has a spatial function)
Definition at line 371 of file Kernel.h.
|
inherited |
Mark a Citizen as persistent and not destroyed until process end.
Definition at line 225 of file Citizen.cc.
|
delete |
|
delete |
|
inlinestaticinherited |
Read an object from an already open FITS object.
[in] | fitsfile | FITS object to read from, already positioned at the desired HDU. |
Definition at line 183 of file Persistable.h.
|
inlinestaticinherited |
Read an object from an already open FITS object.
[in] | fitsfile | FITS object to read from, already positioned at the desired HDU. |
Definition at line 183 of file Persistable.h.
|
inlinestaticinherited |
Read an object from a regular FITS file.
[in] | fileName | Name of the file to read. |
[in] | hdu | HDU to read, where 0 is the primary. The special value of afw::fits::DEFAULT_HDU skips the primary HDU if it is empty. |
Definition at line 194 of file Persistable.h.
|
inlinestaticinherited |
Read an object from a regular FITS file.
[in] | fileName | Name of the file to read. |
[in] | hdu | HDU to read, where 0 is the primary. The special value of afw::fits::DEFAULT_HDU skips the primary HDU if it is empty. |
Definition at line 194 of file Persistable.h.
|
inlinestaticinherited |
Read an object from a FITS file in memory.
[in] | manager | Manager for the memory to read from. |
[in] | hdu | HDU to read, where 0 is the primary. The special value of afw::fits::DEFAULT_HDU skips the primary HDU if it is empty. |
Definition at line 205 of file Persistable.h.
|
inlinestaticinherited |
Read an object from a FITS file in memory.
[in] | manager | Manager for the memory to read from. |
[in] | hdu | HDU to read, where 0 is the primary. The special value of afw::fits::DEFAULT_HDU skips the primary HDU if it is empty. |
Definition at line 205 of file Persistable.h.
|
inherited |
Return a string representation of a Citizen.
Definition at line 219 of file Citizen.cc.
|
overridevirtual |
Return a pointer to a clone with specified kernel dimensions.
width | Number of columns in pixels |
height | Number of rows in pixels |
Must be implemented by derived classes.
Implements lsst::afw::math::Kernel.
Definition at line 67 of file FixedKernel.cc.
|
staticinherited |
Set the CorruptionCallback function.
func | function be called when block is found to be corrupted |
Definition at line 391 of file Citizen.cc.
|
inlineinherited |
|
inlineinherited |
Set x index of kernel's center.
|
inlineinherited |
Set y index of kernel's center.
|
staticinherited |
Set the DeleteCallback function.
func | function be called when desired block is deleted |
Definition at line 381 of file Citizen.cc.
|
staticinherited |
Call the current DeleteCallback when block is deleted.
id | Desired ID |
Definition at line 347 of file Citizen.cc.
|
inlineinherited |
|
inlineinherited |
|
protectedvirtualinherited |
Set one kernel parameter.
Classes that have kernel parameters must subclass this function.
This function is marked "const", despite modifying unimportant internals, so that computeImage can be const.
lsst::pex::exceptions::InvalidParameterError | always (unless subclassed) |
Reimplemented in lsst::afw::math::SeparableKernel, lsst::afw::math::LinearCombinationKernel, lsst::afw::math::AnalyticKernel, lsst::afw::math::NearestWarpingKernel, lsst::afw::math::BilinearWarpingKernel, and lsst::afw::math::LanczosWarpingKernel.
Definition at line 233 of file Kernel.cc.
|
inlineinherited |
Set the kernel parameters of a spatially invariant kernel.
lsst::pex::exceptions::RuntimeError | if the kernel has a spatial function |
lsst::pex::exceptions::InvalidParameterError | if the params vector is the wrong length |
Definition at line 379 of file Kernel.h.
|
inlineinherited |
Set the kernel parameters of a 2-component spatially invariant kernel.
Definition at line 401 of file Kernel.h.
|
protectedinherited |
Set the kernel parameters from the spatial model (if any).
This function has no effect if there is no spatial model.
This function is marked "const", despite modifying unimportant internals, so that computeImage can be const.
Definition at line 237 of file Kernel.cc.
|
staticinherited |
Set the NewCallback function.
func | The new function to be called when a designated block is allocated |
Definition at line 371 of file Citizen.cc.
|
staticinherited |
Call the NewCallback when block is allocated.
id | Desired ID |
Definition at line 337 of file Citizen.cc.
|
inherited |
Set the parameters of all spatial functions.
Params is indexed as [kernel parameter][spatial parameter]
lsst::pex::exceptions::InvalidParameterError | if params is the wrong shape (if this exception is thrown then no parameters are changed) |
Definition at line 128 of file Kernel.cc.
|
inlineinherited |
|
inherited |
Given a bounding box for an image one wishes to convolve with this kernel, return the bounding box for the region of pixels that can be computed.
Thus the box shifted by kernel.getCtr() and its size is reduced by kernel.getDimensions()-1.
lsst::pex::exceptions::InvalidParameterError | if the resulting box would have dimension < 1 in either axis |
Definition at line 192 of file Kernel.cc.
|
overridevirtual |
Return a string representation of the kernel.
Reimplemented from lsst::afw::math::Kernel.
Definition at line 127 of file FixedKernel.cc.
|
overrideprotectedvirtual |
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 181 of file FixedKernel.cc.
|
inherited |
Write the object to a regular FITS file.
[in] | fileName | Name of the file to write to. |
[in] | mode | If "w", any existing file with the given name will be overwritten. If "a", new HDUs will be appended to an existing file. |
Definition at line 24 of file Persistable.cc.
|
inherited |
Write the object to a FITS image in memory.
[in] | manager | Name of the file to write to. |
[in] | mode | If "w", any existing file with the given name will be overwritten. If "a", new HDUs will be appended to an existing file. |
Definition at line 29 of file Persistable.cc.
|
inherited |
Write the object to an already-open FITS object.
[in] | fitsfile | Open FITS object to write to. |
Definition at line 18 of file Persistable.cc.
|
protectedinherited |