LSST Applications g0f08755f38+9c285cab97,g1635faa6d4+13f3999e92,g1653933729+a8ce1bb630,g1a0ca8cf93+bf6eb00ceb,g28da252d5a+0829b12dee,g29321ee8c0+5700dc9eac,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+fde0dd39b6,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g80478fca09+55a9465950,g82479be7b0+d730eedb7d,g858d7b2824+9c285cab97,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+2a84bb7594,gacf8899fa4+c69c5206e8,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gc28159a63d+9634bc57db,gcf0d15dbbd+4b7d09cae4,gda3e153d99+9c285cab97,gda6a2b7d83+4b7d09cae4,gdaeeff99f8+1711a396fd,ge2409df99d+5e831397f4,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+41c94011de,gf3fb38a9a8+8f07a9901b,gfb92a5be7c+9c285cab97,w.2024.46
LSST Data Management Base Package
|
#include <Function.h>
Public Member Functions | |
Function (unsigned int nParams) | |
Construct a Function given the number of function parameters. | |
Function (std::vector< double > const ¶ms) | |
Construct a Function given the function parameters. | |
Function (Function const &)=default | |
Function (Function &&)=default | |
Function & | operator= (Function const &)=default |
Function & | operator= (Function &&)=default |
~Function () noexcept override=default | |
unsigned int | getNParameters () const noexcept |
Return the number of function parameters. | |
virtual double | getParameter (unsigned int ind) const |
Get one function parameter without range checking. | |
std::vector< double > const & | getParameters () const noexcept |
Return all function parameters. | |
virtual bool | isLinearCombination () const noexcept |
Is the function a linear combination of its parameters? | |
void | setParameter (unsigned int ind, double newValue) |
Set one function parameter without range checking. | |
void | setParameters (std::vector< double > const ¶ms) |
Set all function parameters. | |
virtual std::string | toString (std::string const &) const |
Return a string representation of the function. | |
void | writeFits (std::string const &fileName, std::string const &mode="w") const |
Write the object to a regular FITS file. | |
void | writeFits (fits::MemFileManager &manager, std::string const &mode="w") const |
Write the object to a FITS image in memory. | |
void | writeFits (fits::Fits &fitsfile) const |
Write the object to an already-open FITS object. | |
virtual bool | isPersistable () const noexcept |
Return true if this particular object can be persisted using afw::table::io. | |
Static Public Member Functions | |
static std::shared_ptr< Function< ReturnT > > | readFits (fits::Fits &fitsfile) |
Read an object from an already open FITS object. | |
static std::shared_ptr< Function< ReturnT > > | readFits (std::string const &fileName, int hdu=fits::DEFAULT_HDU) |
Read an object from a regular FITS file. | |
static std::shared_ptr< Function< ReturnT > > | readFits (fits::MemFileManager &manager, int hdu=fits::DEFAULT_HDU) |
Read an object from a FITS file in memory. | |
static std::shared_ptr< Function< ReturnT > > | dynamicCast (std::shared_ptr< Persistable > const &ptr) |
Dynamically cast a shared_ptr. | |
Protected Types | |
using | OutputArchiveHandle = io::OutputArchiveHandle |
Protected Member Functions | |
std::string | getPythonModule () const override |
Return the fully-qualified Python module that should be imported to guarantee that its factory is registered. | |
Function () | |
virtual std::string | getPersistenceName () const |
Return the unique name used to persist this object and look up its factory. | |
virtual void | write (OutputArchiveHandle &handle) const |
Write the object to one or more catalogs. | |
Protected Attributes | |
std::vector< double > | _params |
bool | _isCacheValid |
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 83 of file Function.h.
|
protectedinherited |
Definition at line 108 of file Persistable.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 91 of file Function.h.
|
inlineexplicit |
Construct a Function given the function parameters.
params | function parameters |
Definition at line 97 of file Function.h.
|
default |
|
default |
|
overridedefaultnoexcept |
|
inlineexplicitprotected |
Definition at line 191 of file Function.h.
|
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 218 of file Persistable.cc.
|
inlinenoexcept |
Return the number of function parameters.
Definition at line 112 of file Function.h.
|
inlinevirtual |
Get one function parameter without range checking.
ind | index of parameter |
Definition at line 119 of file Function.h.
|
inlinenoexcept |
Return all function parameters.
Definition at line 129 of file Function.h.
|
protectedvirtualinherited |
Return the unique name used to persist this object and look up its factory.
Must be less than ArchiveIndexSchema::MAX_NAME_LENGTH characters.
Reimplemented in lsst::afw::image::FilterLabel, lsst::afw::cameraGeom::Camera, lsst::afw::cameraGeom::Detector, lsst::afw::cameraGeom::DetectorCollection, lsst::afw::cameraGeom::TransformMap, lsst::afw::detection::Footprint, lsst::afw::detection::GaussianPsf, lsst::afw::detection::HeavyFootprint< ImagePixelT, MaskPixelT, VariancePixelT >, lsst::afw::geom::polygon::Polygon, lsst::afw::geom::SkyWcs, lsst::afw::geom::SpanSet, lsst::afw::geom::Transform< FromEndpoint, ToEndpoint >, lsst::afw::geom::Transform< afw::geom::Point2Endpoint, afw::geom::GenericEndpoint >, lsst::afw::image::ApCorrMap, lsst::afw::image::CoaddInputs, lsst::afw::image::PhotoCalib, lsst::afw::image::VisitInfo, lsst::afw::math::ChebyshevBoundedField, lsst::afw::math::GaussianFunction2< ReturnT >, lsst::afw::math::DoubleGaussianFunction2< ReturnT >, lsst::afw::math::PolynomialFunction2< ReturnT >, lsst::afw::math::Chebyshev1Function2< ReturnT >, lsst::afw::math::FixedKernel, lsst::afw::math::AnalyticKernel, lsst::afw::math::DeltaFunctionKernel, lsst::afw::math::LinearCombinationKernel, lsst::afw::math::PixelAreaBoundedField, lsst::afw::math::ProductBoundedField, lsst::afw::math::TransformBoundedField, lsst::afw::math::LanczosWarpingKernel, lsst::afw::math::BilinearWarpingKernel, lsst::afw::math::NearestWarpingKernel, lsst::afw::math::WarpingControl, lsst::afw::typehandling::StorableHelper< Base >, lsst::meas::algorithms::CoaddBoundedField, lsst::meas::algorithms::CoaddPsf, lsst::meas::algorithms::DoubleGaussianPsf, lsst::meas::algorithms::KernelPsf, lsst::meas::algorithms::PcaPsf, lsst::meas::algorithms::SingleGaussianPsf, lsst::meas::algorithms::WarpedPsf, lsst::meas::extensions::psfex::PsfexPsf, and lsst::meas::modelfit::Mixture.
Definition at line 34 of file Persistable.cc.
|
inlineoverrideprotectedvirtual |
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 188 of file Function.h.
|
inlinevirtualnoexcept |
Is the function a linear combination of its parameters?
Reimplemented in lsst::afw::math::BasePolynomialFunction2< ReturnT >, lsst::afw::math::PolynomialFunction1< ReturnT >, and lsst::afw::math::Chebyshev1Function1< ReturnT >.
Definition at line 138 of file Function.h.
|
inlinevirtualnoexceptinherited |
Return true if this particular object can be persisted using afw::table::io.
Reimplemented in lsst::afw::cameraGeom::Camera, lsst::afw::cameraGeom::Detector, lsst::afw::cameraGeom::DetectorCollection, lsst::afw::cameraGeom::TransformMap, lsst::afw::detection::Footprint, lsst::afw::detection::GaussianPsf, lsst::afw::geom::polygon::Polygon, lsst::afw::geom::SkyWcs, lsst::afw::geom::SpanSet, lsst::afw::geom::Transform< FromEndpoint, ToEndpoint >, lsst::afw::geom::Transform< afw::geom::Point2Endpoint, afw::geom::GenericEndpoint >, lsst::afw::image::ApCorrMap, lsst::afw::image::CoaddInputs, lsst::afw::image::FilterLabel, lsst::afw::image::PhotoCalib, lsst::afw::image::VisitInfo, lsst::afw::math::ChebyshevBoundedField, lsst::afw::math::GaussianFunction2< ReturnT >, lsst::afw::math::DoubleGaussianFunction2< ReturnT >, lsst::afw::math::PolynomialFunction2< ReturnT >, lsst::afw::math::Chebyshev1Function2< ReturnT >, lsst::afw::math::FixedKernel, lsst::afw::math::AnalyticKernel, lsst::afw::math::DeltaFunctionKernel, lsst::afw::math::LinearCombinationKernel, lsst::afw::math::PixelAreaBoundedField, lsst::afw::math::ProductBoundedField, lsst::afw::math::TransformBoundedField, lsst::afw::math::LanczosWarpingKernel, lsst::afw::math::BilinearWarpingKernel, lsst::afw::math::NearestWarpingKernel, lsst::afw::math::WarpingControl, lsst::afw::typehandling::StorableHelper< Base >, lsst::meas::algorithms::CoaddBoundedField, lsst::meas::algorithms::CoaddPsf, lsst::meas::algorithms::DoubleGaussianPsf, lsst::meas::algorithms::KernelPsf, lsst::meas::algorithms::SingleGaussianPsf, lsst::meas::algorithms::WarpedPsf, lsst::meas::extensions::psfex::PsfexPsf, and lsst::meas::modelfit::Mixture.
Definition at line 102 of file Persistable.h.
|
default |
|
default |
|
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 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 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.
|
inline |
Set one function parameter without range checking.
ind | index of parameter |
newValue | new value for parameter |
Definition at line 143 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 156 of file Function.h.
|
inlinevirtual |
Return a string representation of the function.
Reimplemented in lsst::afw::math::BilinearWarpingKernel::BilinearFunction1, lsst::afw::math::NearestWarpingKernel::NearestFunction1, lsst::afw::math::IntegerDeltaFunction2< ReturnT >, lsst::afw::math::GaussianFunction1< ReturnT >, lsst::afw::math::GaussianFunction2< ReturnT >, lsst::afw::math::DoubleGaussianFunction2< ReturnT >, lsst::afw::math::PolynomialFunction1< ReturnT >, lsst::afw::math::PolynomialFunction2< ReturnT >, lsst::afw::math::Chebyshev1Function1< ReturnT >, lsst::afw::math::Chebyshev1Function2< ReturnT >, lsst::afw::math::LanczosFunction1< ReturnT >, lsst::afw::math::LanczosFunction2< ReturnT >, lsst::afw::math::Function1< Kernel::Pixel >, lsst::afw::math::Function1< ReturnT >, lsst::afw::math::Function2< double >, lsst::afw::math::Function2< Pixel >, lsst::afw::math::Function2< ReturnT >, and lsst::afw::math::IntegerDeltaFunction1< ReturnT >.
Definition at line 173 of file Function.h.
|
protectedvirtualinherited |
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 in lsst::afw::math::GaussianFunction2< ReturnT >, lsst::afw::math::DoubleGaussianFunction2< ReturnT >, lsst::afw::math::PolynomialFunction2< ReturnT >, lsst::afw::math::Chebyshev1Function2< ReturnT >, lsst::meas::extensions::psfex::PsfexPsf, lsst::afw::cameraGeom::Camera, lsst::afw::cameraGeom::Detector, lsst::afw::cameraGeom::DetectorCollection, lsst::afw::cameraGeom::TransformMap, lsst::afw::detection::Footprint, lsst::afw::detection::GaussianPsf, lsst::afw::detection::HeavyFootprint< ImagePixelT, MaskPixelT, VariancePixelT >, lsst::afw::geom::polygon::Polygon, lsst::afw::geom::SkyWcs, lsst::afw::geom::SpanSet, lsst::afw::geom::Transform< FromEndpoint, ToEndpoint >, lsst::afw::geom::Transform< afw::geom::Point2Endpoint, afw::geom::GenericEndpoint >, lsst::afw::image::ApCorrMap, lsst::afw::image::CoaddInputs, lsst::afw::image::PhotoCalib, lsst::afw::image::VisitInfo, lsst::afw::math::ChebyshevBoundedField, lsst::afw::math::FixedKernel, lsst::afw::math::AnalyticKernel, lsst::afw::math::DeltaFunctionKernel, lsst::afw::math::LinearCombinationKernel, lsst::afw::math::PixelAreaBoundedField, lsst::afw::math::ProductBoundedField, lsst::afw::math::TransformBoundedField, lsst::afw::math::LanczosWarpingKernel, lsst::afw::math::BilinearWarpingKernel, lsst::afw::math::NearestWarpingKernel, lsst::afw::math::WarpingControl, lsst::meas::algorithms::CoaddBoundedField, lsst::meas::algorithms::CoaddPsf, lsst::meas::algorithms::DoubleGaussianPsf, lsst::meas::algorithms::KernelPsf, lsst::meas::algorithms::SingleGaussianPsf, lsst::meas::algorithms::WarpedPsf, lsst::meas::modelfit::Mixture, lsst::afw::image::FilterLabel, and lsst::afw::typehandling::StorableHelper< Base >.
Definition at line 38 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.
|
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 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.
|
mutableprotected |
Definition at line 186 of file Function.h.
|
protected |
Definition at line 185 of file Function.h.