23 #include "pybind11/pybind11.h" 41 using PyFluxAlgorithm = py::class_<ScaledApertureFluxAlgorithm, std::shared_ptr<ScaledApertureFluxAlgorithm>,
43 using PyFluxControl = py::class_<ScaledApertureFluxControl>;
44 using PyFluxTransform =
45 py::class_<ScaledApertureFluxTransform, std::shared_ptr<ScaledApertureFluxTransform>,
BaseTransform>;
47 PyFluxControl declareFluxControl(
py::module &mod) {
48 PyFluxControl
cls(mod,
"ScaledApertureFluxControl");
53 cls.def(py::init<>());
58 PyFluxAlgorithm declareFluxAlgorithm(
py::module &mod) {
59 PyFluxAlgorithm
cls(mod,
"ScaledApertureFluxAlgorithm");
62 afw::table::Schema &>(),
63 "ctrl"_a,
"name"_a,
"schema"_a);
66 cls.def(
"fail", &ScaledApertureFluxAlgorithm::fail,
"measRecord"_a,
"error"_a =
nullptr);
71 PyFluxTransform declareFluxTransform(
py::module &mod) {
72 PyFluxTransform
cls(mod,
"ScaledApertureFluxTransform");
75 afw::table::SchemaMapper &>(),
76 "ctrl"_a,
"name"_a,
"mapper"_a);
84 py::module::import(
"lsst.afw.table");
85 py::module::import(
"lsst.meas.base.algorithm");
86 py::module::import(
"lsst.meas.base.fluxUtilities");
87 py::module::import(
"lsst.meas.base.transform");
89 auto clsFluxControl = declareFluxControl(mod);
90 auto clsFluxAlgorithm = declareFluxAlgorithm(mod);
91 auto clsFluxTransform = declareFluxTransform(mod);
93 clsFluxAlgorithm.attr(
"Control") = clsFluxControl;
94 clsFluxTransform.attr(
"Control") = clsFluxControl;
def scale(algorithm, min, max=None, frame=None)
PYBIND11_MODULE(scaledApertureFlux, mod)
A base class for image defects.
ScaledApertureFluxAlgorithm
#define LSST_DECLARE_CONTROL_FIELD(WRAPPER, CLASS, NAME)
Macro used to wrap fields declared by LSST_CONTROL_FIELD using Pybind11.
def measure(mi, x, y, size, statistic, stats)
void declareAlgorithm(PyAlg &clsAlgorithm)
Wrap the implicit API used by meas_base's algorithms.