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
|
Base class for 2-dimensional polynomials of the form: More...
#include <Function.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 | |
BasePolynomialFunction2 (unsigned int order) | |
Construct a polynomial function of specified order. More... | |
BasePolynomialFunction2 (std::vector< double > params) | |
Construct a polynomial function with specified parameters. More... | |
virtual | ~BasePolynomialFunction2 () |
int | getOrder () const |
Get the polynomial order. More... | |
virtual bool | isLinearCombination () const |
Is the function a linear combination of its parameters? More... | |
virtual std::vector< double > | getDFuncDParameters (double x, double y) const |
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 Ptr | clone () const =0 |
Return a pointer to a deep copy of this function. More... | |
virtual ReturnT | operator() (double x, double y) const =0 |
virtual std::string | toString (std::string const &prefix="") const |
Return a string representation of the function. More... | |
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... | |
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 bool | isPersistable () const |
Return true if this particular object can be persisted using afw::table::io. More... | |
virtual | ~Persistable () |
Static Public Member Functions | |
static int | nParametersFromOrder (int order) |
Compute number of parameters from polynomial order. More... | |
static int | orderFromNParameters (int nParameters) |
Compute polynomial order from the number of parameters. More... | |
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 Member Functions | |
BasePolynomialFunction2 () | |
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 | |
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 | |
int | _order |
order of polynomial More... | |
Protected Attributes inherited from lsst::afw::math::Function< ReturnT > | |
std::vector< double > | _params |
bool | _isCacheValid |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &ar, unsigned const int version) |
Friends | |
class | boost::serialization::access |
Additional Inherited Members | |
Protected Types inherited from lsst::afw::table::io::Persistable | |
typedef io::OutputArchiveHandle | OutputArchiveHandle |
Base class for 2-dimensional polynomials of the form:
f(x,y) = c0 f0(x) f0(y) (0th order)
and typically f0(x) = 1
Definition at line 384 of file Function.h.
typedef Function2<ReturnT>::Ptr lsst::afw::math::BasePolynomialFunction2< ReturnT >::Function2Ptr |
Definition at line 386 of file Function.h.
|
inlineexplicit |
Construct a polynomial function of specified order.
The polynomial will have (order + 1) * (order + 2) / 2 coefficients
The parameters are initialized to zero.
order | order of polynomial (0 for constant) |
Definition at line 395 of file Function.h.
|
inlineexplicit |
Construct a polynomial function with specified parameters.
The order of the polynomial is determined from the length of the params vector (see orderFromNParameters) and only certain lengths are suitable: 1, 3, 6, 10, 15...
lsst::pex::exceptions::InvalidParameterError | if params length is unsuitable |
params | polynomial coefficients |
Definition at line 410 of file Function.h.
|
inlinevirtual |
Definition at line 417 of file Function.h.
|
inlineexplicitprotected |
Definition at line 495 of file Function.h.
|
inlinevirtual |
Return the derivative of the Function with respect to its parameters
Because this is a polynomial, c0 F0(x,y) + c1 F1(x,y) + c2 F2(x,y) + ... we can set ci = 0 for all i except the parameter of interest and evaluate. This isn't necessarily the most efficient algorithm, but it's general, and you can override it if it isn't suitable for your particular subclass.
Reimplemented from lsst::afw::math::Function2< ReturnT >.
Reimplemented in lsst::afw::math::PolynomialFunction2< ReturnT >.
Definition at line 473 of file Function.h.
|
inline |
Get the polynomial order.
Definition at line 422 of file Function.h.
|
inlinevirtual |
Is the function a linear combination of its parameters?
Reimplemented from lsst::afw::math::Function< ReturnT >.
Definition at line 424 of file Function.h.
|
inlinestatic |
Compute number of parameters from polynomial order.
lsst::pex::exceptions::InvalidParameterError | if order < 0 |
Definition at line 431 of file Function.h.
|
inlinestatic |
Compute polynomial order from the number of parameters.
Only certain values of nParameters are acceptable, including: nParameters order 1 0 3 1 6 2 10 3 15 4 ...
lsst::pex::exceptions::InvalidParameterError | if nParameters is invalid |
Definition at line 454 of file Function.h.
|
inlineprivate |
Definition at line 501 of file Function.h.
|
friend |
Definition at line 498 of file Function.h.
|
protected |
order of polynomial
Definition at line 492 of file Function.h.