LSSTApplications
10.0-2-g4f67435,11.0.rc2+1,11.0.rc2+12,11.0.rc2+3,11.0.rc2+4,11.0.rc2+5,11.0.rc2+6,11.0.rc2+7,11.0.rc2+8
LSSTDataManagementBasePackage
|
2-dimensional Gaussian More...
#include <FunctionLibrary.h>
Public Types | |
typedef Function2< ReturnT >::Ptr | Function2Ptr |
Public Types inherited from lsst.afw.math::Function2< ReturnT > | |
typedef boost::shared_ptr < Function2< ReturnT > > | Ptr |
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 Member Functions | |
GaussianFunction2 (double sigma1, double sigma2, double angle=0.0) | |
Construct a 2-dimensional Gaussian function. More... | |
virtual | ~GaussianFunction2 () |
virtual Function2Ptr | clone () const |
Return a pointer to a deep copy of this function. More... | |
virtual ReturnT | operator() (double x, double y) const |
virtual std::string | toString (std::string const &prefix) const |
Return a string representation of the function. 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::Function2< ReturnT > | |
Function2 (unsigned int nParams) | |
Construct a Function2 given the number of function parameters. More... | |
Function2 (std::vector< double > const ¶ms) | |
Construct a Function2 given the function parameters. More... | |
virtual | ~Function2 () |
virtual std::vector< double > | getDFuncDParameters (double, double) const |
Public Member Functions inherited from lsst.afw.math::Function< ReturnT > | |
Function (unsigned int nParams) | |
Construct a Function given the number of function parameters. More... | |
Function (std::vector< double > const ¶ms) | |
Construct a Function given the function parameters. More... | |
virtual | ~Function () |
unsigned int | getNParameters () const |
Return the number of function parameters. More... | |
virtual double | getParameter (unsigned int ind) const |
Get one function parameter without range checking. More... | |
std::vector< double > const & | getParameters () const |
Return all function parameters. More... | |
virtual bool | isLinearCombination () const |
Is the function a linear combination of its parameters? More... | |
void | setParameter (unsigned int ind, double newValue) |
Set one function parameter without range checking. More... | |
void | setParameters (std::vector< double > const ¶ms) |
Set all function parameters. More... | |
Public Member Functions inherited from lsst::daf::base::Citizen | |
Citizen (const std::type_info &) | |
Citizen (Citizen const &) | |
~Citizen () | |
Citizen & | operator= (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.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 std::string | getPersistenceName () const |
Return the unique name used to persist this object and look up its factory. More... | |
virtual void | write (afw::table::io::OutputArchiveHandle &handle) const |
Write the object to one or more catalogs. More... | |
GaussianFunction2 () | |
Protected Member Functions inherited from lsst.afw.math::Function2< ReturnT > | |
Function2 () | |
Protected Member Functions inherited from lsst.afw.math::Function< ReturnT > | |
virtual std::string | getPythonModule () const |
Return the fully-qualified Python module that should be imported to guarantee that its factory is registered. More... | |
Function () | |
Protected Member Functions inherited from lsst.afw.table.io::Persistable | |
Persistable () | |
Persistable (Persistable const &other) | |
void | operator= (Persistable const &other) |
Private Member Functions | |
void | _updateCache () const |
Update cached values. More... | |
template<class Archive > | |
void | serialize (Archive &ar, unsigned int const version) |
Private Attributes | |
const double | _multFac |
precomputed scale factor More... | |
double | _angle |
cached angle More... | |
double | _sinAngle |
cached sin(angle) More... | |
double | _cosAngle |
cached cos(angle) More... | |
Friends | |
class | boost::serialization::access |
Additional Inherited Members | |
Static Public Member Functions inherited from lsst.afw.table.io::PersistableFacade< Function2< ReturnT > > | |
static boost::shared_ptr < Function2< ReturnT > > | readFits (fits::Fits &fitsfile) |
Read an object from an already open FITS object. More... | |
static boost::shared_ptr < Function2< ReturnT > > | readFits (std::string const &fileName, int hdu=0) |
Read an object from a regular FITS file. More... | |
static boost::shared_ptr < Function2< ReturnT > > | 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< Function< ReturnT > > | |
static boost::shared_ptr < Function< ReturnT > > | readFits (fits::Fits &fitsfile) |
Read an object from an already open FITS object. More... | |
static boost::shared_ptr < Function< ReturnT > > | readFits (std::string const &fileName, int hdu=0) |
Read an object from a regular FITS file. More... | |
static boost::shared_ptr < Function< ReturnT > > | 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::Function< ReturnT > | |
std::vector< double > | _params |
bool | _isCacheValid |
2-dimensional Gaussian
f(x,y) = A e^((-pos1^2 / 2 sigma1^2) - (pos2^2 / 2 sigma2^2)) where:
Definition at line 246 of file FunctionLibrary.h.
typedef Function2<ReturnT>::Ptr lsst.afw.math::GaussianFunction2< ReturnT >::Function2Ptr |
Definition at line 248 of file FunctionLibrary.h.
|
inlineexplicit |
Construct a 2-dimensional Gaussian function.
sigma1 | sigma along the pos1 axis |
sigma2 | sigma along the pos2 axis |
angle | angle of pos1 axis, in rad (along x=0, y=pi/2) |
Definition at line 253 of file FunctionLibrary.h.
|
inlinevirtual |
Definition at line 267 of file FunctionLibrary.h.
|
inlineexplicitprotected |
Definition at line 330 of file FunctionLibrary.h.
|
inlineprivate |
Update cached values.
sin(angle) and cos(angle) are cached to speed computation and angle is cached so one can check if an update is required
The current design is to have operator() update the cache if needed. An alternate design is to update the cache when the parameters are set, not test in operator(). The main advantage to updating in operator() is safety and simplicity. The test is performed in one place, and it is the place where it matters the most. In contrast, there are multiple member functions to set parameters, and all must be overloaded to update the cache; miss one and the function silently misbehaves. There are trade-offs, of course. Testing the cache in operator() slows down operator() slightly. The overhead is small, but the function is typically evaulated more often than its parameters are changed.
Definition at line 318 of file FunctionLibrary.h.
|
inlinevirtual |
Return a pointer to a deep copy of this function.
This function exists instead of a copy constructor so one can obtain a copy of an actual function instead of a useless copy of the base class.
Every non-virtual function must override this method.
Implements lsst.afw.math::Function2< ReturnT >.
Definition at line 269 of file FunctionLibrary.h.
|
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.
|
inlinevirtual |
Return true if this particular object can be persisted using afw::table::io.
Reimplemented from lsst.afw.table.io::Persistable.
Definition at line 292 of file FunctionLibrary.h.
|
inlinevirtual |
Implements lsst.afw.math::Function2< ReturnT >.
Definition at line 273 of file FunctionLibrary.h.
|
inlineprivate |
Definition at line 336 of file FunctionLibrary.h.
|
inlinevirtual |
Return a string representation of the function.
Reimplemented from lsst.afw.math::Function2< ReturnT >.
Definition at line 285 of file FunctionLibrary.h.
|
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.
|
friend |
Definition at line 334 of file FunctionLibrary.h.
|
mutableprivate |
cached angle
Definition at line 324 of file FunctionLibrary.h.
|
mutableprivate |
cached cos(angle)
Definition at line 326 of file FunctionLibrary.h.
|
private |
precomputed scale factor
Definition at line 323 of file FunctionLibrary.h.
|
mutableprivate |
cached sin(angle)
Definition at line 325 of file FunctionLibrary.h.