lsst.meas.algorithms g4a7591d645+ecc601e506
Loading...
Searching...
No Matches
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< typename Base > lsst::afw::typehandling::StorableHelper< Base > 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.
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
lsst::geom::Box2I doComputeImageBBox (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
bool isPersistable () const noexcept override
std::string getPersistenceName () const override
std::string getPythonModule () const override
void write (table::io::OutputArchiveHandle &handle) const 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
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 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 67 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: