Namespace lsst::meas::base::python

namespace python

Functions

template<class Algorithm, class PyAlg>
std::enable_if<!std::is_abstract<Algorithm>::value, void>::type declareAlgorithmConstructor(PyAlg &cls)

Wrap the standard algorithm constructor.

Template Parameters
  • Algorithm: The algorithm class.

  • PyAlg: The pybind11::class_ class corresponding to Algorithm.

Parameters
  • [inout] cls: The pybind11 wrapper for Algorithm.

template<class Algorithm, class PyAlg>
std::enable_if<std::is_abstract<Algorithm>::value, void>::type declareAlgorithmConstructor(PyAlg &cls)

Dummy function for not wrapping the constructor of an abstract base class.

Pybind11 cannot wrap such constructors, and there is no reason to call them from Python anyway.

Template Parameters
  • Algorithm: The algorithm class.

  • PyAlg: The pybind11::class_ class corresponding to Algorithm.

Parameters
  • [inout] cls: The pybind11 wrapper for Algorithm.

template<class Algorithm, class PyAlg>
void declareAlgorithm(PyAlg &clsAlgorithm)

Wrap the implicit API used by meas_base’s algorithms.

This function only initializes constructors, fields, and methods common to all Algorithms.

Template Parameters
  • Algorithm: The algorithm class.

  • PyAlg: The pybind11::class_ class corresponding to Algorithm.

Parameters
  • [inout] clsAlgorithm: The pybind11 wrapper for Algorithm.

template<class Algorithm, class Control, class PyAlg, class PyCtrl>
void declareAlgorithm(PyAlg &clsAlgorithm, PyCtrl &clsControl)

Wrap the implicit API used by meas_base’s algorithm-control pairs (no transform).

This function only initializes constructors, fields, and methods common to all Algorithms and Controls.

Template Parameters
  • Algorithm: The algorithm class.

  • Control: The control class. Must equal Algorithm::Control and Transform::Control.

  • PyAlg: The pybind11::class_ class corresponding to Algorithm.

  • PyCtrl: The pybind11::class_ class corresponding to Control.

Parameters
  • [inout] clsAlgorithm[inout] clsControl: The pybind11 wrappers for the respective C++ classes.

template<class Algorithm, class Control, class Transform, class PyAlg, class PyCtrl, class PyXform>
void declareAlgorithm(PyAlg &clsAlgorithm, PyCtrl &clsControl, PyXform &clsTransform)

Wrap the implicit API used by meas_base’s algorithm-control-transform triads.

This function only initializes constructors, fields, and methods common to all Algorithms, Controls, and Transforms.

Template Parameters
  • Algorithm: The algorithm class.

  • Control: The control class. Must equal Algorithm::Control and Transform::Control.

  • Transform: The transform class.

  • PyAlg: The pybind11::class_ class corresponding to Algorithm.

  • PyCtrl: The pybind11::class_ class corresponding to Control.

  • PyXform: The pybind11::class_ class corresponding to Transform.

Parameters
  • [inout] clsAlgorithm[inout] clsControl[inout] clsTransform: The pybind11 wrappers for the respective C++ classes.