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
|
Basic Function class. More...
#include <Function.h>
Public Member Functions | |
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... | |
virtual std::string | toString (std::string const &) const |
Return a string representation of the function. 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 bool | isPersistable () const |
Return true if this particular object can be persisted using afw::table::io. More... | |
virtual | ~Persistable () |
Protected Member Functions | |
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 | |
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... | |
Persistable () | |
Persistable (Persistable const &other) | |
void | operator= (Persistable const &other) |
Protected Attributes | |
std::vector< double > | _params |
bool | _isCacheValid |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &ar, unsigned int const version) |
Friends | |
class | boost::serialization::access |
Additional Inherited Members | |
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) |
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 |
Basic Function class.
Function objects are functions whose parameters may be read and changed using getParameters and setParameters. They were designed for use with the Kernel class.
These are simple functors with the restrictions that:
To create a function for a particular equation, subclass Function or (much more likely) Function1 or Function2. Your subclass must:
If you wish to cache any information you may use the _isCacheValid flag; this is automatically set false whenever parameters are changed.
Design Notes: The reason these functions exist (rather than using a pre-existing function class, such as Functor in VisualWorkbench) is because the Kernel class requires function objects with a standard interface for setting and getting function parameters.
The reason isLinearCombination exists is to support refactoring LinearCombinationKernels.
Definition at line 89 of file Function.h.
|
inlineexplicit |
Construct a Function given the number of function parameters.
The function parameters are initialized to 0.
nParams | number of function parameters |
Definition at line 99 of file Function.h.
|
inlineexplicit |
Construct a Function given the function parameters.
params | function parameters |
Definition at line 110 of file Function.h.
|
inlinevirtual |
Definition at line 118 of file Function.h.
|
inlineexplicitprotected |
Definition at line 210 of file Function.h.
|
inline |
Return the number of function parameters.
Definition at line 125 of file Function.h.
|
inlinevirtual |
Get one function parameter without range checking.
ind | index of parameter |
Definition at line 134 of file Function.h.
|
inline |
Return all function parameters.
Definition at line 145 of file Function.h.
|
inlineprotectedvirtual |
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.
Definition at line 207 of file Function.h.
|
inlinevirtual |
Is the function a linear combination of its parameters?
Reimplemented in lsst.afw.math::Chebyshev1Function1< ReturnT >, lsst.afw.math::PolynomialFunction1< ReturnT >, and lsst.afw.math::BasePolynomialFunction2< ReturnT >.
Definition at line 156 of file Function.h.
|
inlineprivate |
Definition at line 215 of file Function.h.
|
inline |
Set one function parameter without range checking.
ind | index of parameter |
newValue | new value for parameter |
Definition at line 161 of file Function.h.
|
inline |
Set all function parameters.
lsst::pex::exceptions::InvalidParameterError | if the wrong number of parameters is supplied. |
params | vector of function parameters |
Definition at line 175 of file Function.h.
|
inlinevirtual |
Return a string representation of the function.
Reimplemented in lsst.afw.math::LanczosFunction2< ReturnT >, lsst.afw.math::LanczosFunction1< ReturnT >, lsst.afw.math::Chebyshev1Function2< ReturnT >, lsst.afw.math::Chebyshev1Function1< ReturnT >, lsst.afw.math::PolynomialFunction2< ReturnT >, lsst.afw.math::PolynomialFunction1< ReturnT >, lsst.afw.math::DoubleGaussianFunction2< ReturnT >, lsst.afw.math::Function2< ReturnT >, lsst.afw.math::Function2< double >, lsst.afw.math::GaussianFunction2< ReturnT >, lsst.afw.math::Function1< ReturnT >, lsst.afw.math::Function1< Kernel::Pixel >, lsst.afw.math::GaussianFunction1< ReturnT >, lsst.afw.math::NearestWarpingKernel::NearestFunction1, lsst.afw.math::IntegerDeltaFunction2< ReturnT >, lsst.afw.math::BilinearWarpingKernel::BilinearFunction1, and lsst.afw.math::IntegerDeltaFunction1< ReturnT >.
Definition at line 192 of file Function.h.
|
friend |
Definition at line 213 of file Function.h.
|
mutableprotected |
Definition at line 205 of file Function.h.
|
protected |
Definition at line 204 of file Function.h.