22 #include "pybind11/pybind11.h"
23 #include "pybind11/stl.h"
25 #include "ndarray/pybind11.h"
27 #include "lsst/meas/extensions/psfex/psf.hh"
30 using namespace pybind11::literals;
34 namespace extensions {
38 py::class_<Context> clsContext(mod,
"Context");
40 clsContext.attr(
"KEEPHIDDEN") = py::cast(
static_cast<int>(Context::KEEPHIDDEN));
41 clsContext.attr(
"REMOVEHIDDEN") = py::cast(
static_cast<int>(Context::REMOVEHIDDEN));
44 "names"_a,
"group"_a,
"degree"_a,
"pcexflag"_a);
46 clsContext.def(
"getName", &Context::getName);
47 clsContext.def(
"getNpc", &Context::getNpc);
48 clsContext.def(
"getPcflag", &Context::getPcflag);
49 clsContext.def(
"getPc", &Context::getPc);
51 py::class_<Sample> clsSample(mod,
"Sample");
53 clsSample.def(
"getCatindex", &Sample::getCatindex);
54 clsSample.def(
"setCatindex", &Sample::setCatindex);
55 clsSample.def(
"getObjindex", &Sample::getObjindex);
56 clsSample.def(
"setObjindex", &Sample::setObjindex);
57 clsSample.def(
"getExtindex", &Sample::getExtindex);
58 clsSample.def(
"setExtindex", &Sample::setExtindex);
59 clsSample.def(
"setVig", &Sample::setVig);
60 clsSample.def(
"setNorm", &Sample::setNorm);
61 clsSample.def(
"setBacknoise2", &Sample::setBacknoise2);
62 clsSample.def(
"setGain", &Sample::setGain);
63 clsSample.def(
"setX", &Sample::setX);
64 clsSample.def(
"setY", &Sample::setY);
65 clsSample.def(
"setContext", &Sample::setContext);
66 clsSample.def(
"setFluxrad", &Sample::setFluxrad);
67 clsSample.def(
"getVig", &Sample::getVig);
68 clsSample.def(
"getVigResi", &Sample::getVigResi);
69 clsSample.def(
"getVigChi", &Sample::getVigChi);
70 clsSample.def(
"getVigWeight", &Sample::getVigWeight);
71 clsSample.def(
"getXY", &Sample::getXY);
72 clsSample.def(
"getNorm", &Sample::getNorm);
74 py::class_<Set, std::shared_ptr<Set>> clsSet(mod,
"Set");
76 clsSet.def(py::init<Context &>());
78 clsSet.def(
"newSample", &Set::newSample);
79 clsSet.def(
"trimMemory", &Set::trimMemory);
80 clsSet.def(
"getFwhm", &Set::getFwhm);
81 clsSet.def(
"setFwhm", &Set::setFwhm);
82 clsSet.def(
"getNcontext", &Set::getNcontext);
83 clsSet.def(
"getNsample", &Set::getNsample);
84 clsSet.def(
"getContextOffset", &Set::getContextOffset);
85 clsSet.def(
"setContextOffset", &Set::setContextOffset);
86 clsSet.def(
"getContextScale", &Set::getContextScale);
87 clsSet.def(
"setContextScale", &Set::setContextScale);
88 clsSet.def(
"getRecentroid", &Set::getRecentroid);
89 clsSet.def(
"setRecentroid", &Set::setRecentroid);
90 clsSet.def(
"setVigSize", &Set::setVigSize);
91 clsSet.def(
"finiSample", &Set::finiSample);
92 clsSet.def(
"empty", &Set::empty);
93 clsSet.def(
"getContextNames", &Set::getContextNames);
94 clsSet.def(
"setContextname", &Set::setContextname);
95 clsSet.def(
"setBadFlags", &Set::setBadFlags);
96 clsSet.def(
"getBadFlags", &Set::getBadFlags);
97 clsSet.def(
"setBadSN", &Set::setBadSN);
98 clsSet.def(
"getBadSN", &Set::getBadSN);
99 clsSet.def(
"setBadFrmin", &Set::setBadFrmin);
100 clsSet.def(
"getBadFrmin", &Set::getBadFrmin);
101 clsSet.def(
"setBadFrmax", &Set::setBadFrmax);
102 clsSet.def(
"getBadFrmax", &Set::getBadFrmax);
103 clsSet.def(
"setBadElong", &Set::setBadElong);
104 clsSet.def(
"getBadElong", &Set::getBadElong);
105 clsSet.def(
"setBadPix", &Set::setBadPix);
106 clsSet.def(
"getBadPix", &Set::getBadPix);
107 clsSet.def(
"getSample", &Set::getSample);
109 py::class_<Psf> clsPsf(mod,
"Psf");
111 clsPsf.def(py::init<>());
113 clsPsf.def(
"getLoc", &Psf::getLoc);
114 clsPsf.def(
"getResi", &Psf::getResi);
115 clsPsf.def(
"build", &Psf::build,
117 clsPsf.def(
"clip", &Psf::clip);