lsst.meas.algorithms  20.0.0-6-g01203fff+6ce40cfb96
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | List of all members
lsst::meas::algorithms::ImagePsfTrampoline< Base > Class Template Reference

"Trampoline" for ImagePsf to let it be used as a base class in Python. More...

#include <python.h>

Inheritance diagram for lsst::meas::algorithms::ImagePsfTrampoline< Base >:
lsst::afw::detection::PsfTrampoline< class > lsst::afw::typehandling::StorableHelper< class > lsst::afw::typehandling::Storable lsst::afw::table::io::Persistable

Public Types

typedef typename Base::Image Image
 

Public Member Functions

template<typename... Args>
 ImagePsfTrampoline (Args... args)
 Delegating constructor for wrapped class. More...
 
double doComputeApertureFlux (double radius, geom::Point2D const &position, afw::image::Color const &color) const override
 
afw::geom::ellipses::Quadrupole doComputeShape (geom::Point2D const &position, afw::image::Color const &color) const override
 
std::shared_ptr< Psf > clone () const override
 
std::shared_ptr< Psf > resized (int width, int height) const override
 
lsst::geom::Point2D getAveragePosition () const override
 
std::shared_ptr< ImagedoComputeImage (lsst::geom::Point2D const &position, image::Color const &color) const override
 
std::shared_ptr< ImagedoComputeKernelImage (lsst::geom::Point2D const &position, image::Color const &color) const override
 
lsst::geom::Box2I doComputeBBox (lsst::geom::Point2D const &position, image::Color const &color) const override
 
std::shared_ptr< Storable > cloneStorable () const override
 
std::string toString () const override
 
std::size_t hash_value () const override
 
bool equals (Storable const &other) const noexcept override
 
bool equals (Storable const &other) const noexcept override
 
void writeFits (std::string const &fileName, std::string const &mode="w") const
 
void writeFits (fits::MemFileManager &manager, std::string const &mode="w") const
 
void writeFits (fits::Fits &fitsfile) const
 
virtual bool isPersistable () const noexcept
 
std::ostreamoperator<< (std::ostream &os, Storable const &storable)
 
std::ostreamoperator<< (std::ostream &os, Storable const &storable)
 

Protected Types

typedef io::OutputArchiveHandle OutputArchiveHandle
 

Protected Member Functions

virtual std::string getPersistenceName () const
 
virtual std::string getPythonModule () const
 
virtual void write (OutputArchiveHandle &handle) const
 
virtual void write (OutputArchiveHandle &handle) const
 

Static Protected Member Functions

static bool singleClassEquals (T const &lhs, Storable const &rhs)
 
static bool singleClassEquals (T const &lhs, Storable const &rhs)
 

Detailed Description

template<typename Base = ImagePsf>
class lsst::meas::algorithms::ImagePsfTrampoline< Base >

"Trampoline" for ImagePsf to let it be used as a base class in Python.

Subclasses of ImagePsf that are wrapped in pybind11 should have a similar helper that subclasses ImagePsfTrampoline<subclass>. This helper can be skipped if the subclass neither adds any virtual methods nor implements any abstract methods.

Template Parameters
Basethe exact (most specific) class being wrapped
See also
pybind11 documentation

Definition at line 52 of file python.h.

Constructor & Destructor Documentation

◆ ImagePsfTrampoline()

template<typename Base = ImagePsf>
template<typename... Args>
lsst::meas::algorithms::ImagePsfTrampoline< Base >::ImagePsfTrampoline ( Args...  args)
inline

Delegating constructor for wrapped class.

While we would like to simply inherit base class constructors, when doing so, we cannot change their access specifiers. One consequence is that it's not possible to use inheritance to expose a protected constructor to python. The alternative, used here, is to create a new public constructor that delegates to the base class public or protected constructor with the same signature.

Template Parameters
ArgsVariadic type specification
Parameters
...argsArguments to forward to the Base class constructor.

Definition at line 1 of file python.h.

Member Function Documentation

◆ doComputeApertureFlux()

template<typename Base = ImagePsf>
double lsst::meas::algorithms::ImagePsfTrampoline< Base >::doComputeApertureFlux ( double  radius,
geom::Point2D const &  position,
afw::image::Color const &  color 
) const
inlineoverride

Definition at line 69 of file python.h.

◆ doComputeShape()

template<typename Base = ImagePsf>
afw::geom::ellipses::Quadrupole lsst::meas::algorithms::ImagePsfTrampoline< Base >::doComputeShape ( geom::Point2D const &  position,
afw::image::Color const &  color 
) const
inlineoverride

Definition at line 78 of file python.h.


The documentation for this class was generated from the following file: