22 #include "pybind11/pybind11.h" 24 #include "numpy/arrayobject.h" 25 #include "ndarray/pybind11.h" 29 namespace py = pybind11;
36 py::module::import(
"lsst.afw.geom");
38 py::module mod(
"basisEvaluator");
40 if (_import_array() < 0) {
41 PyErr_SetString(PyExc_ImportError,
"numpy.core.multiarray failed to import");
45 py::class_<BasisEvaluator, std::shared_ptr<BasisEvaluator>> clsBasisEvaluator(mod,
"BasisEvaluator");
48 clsBasisEvaluator.def(py::init<int, BasisTypeEnum>(),
"order"_a,
"basisType"_a);
51 clsBasisEvaluator.def(
"getOrder", &BasisEvaluator::getOrder);
52 clsBasisEvaluator.def(
"getBasisType", &BasisEvaluator::getBasisType);
61 double y) {
return self.fillEvaluation(array, x, y); },
62 "array"_a,
"x"_a,
"y"_a);
63 clsBasisEvaluator.def(
66 Array1d const &dy) {
return self.fillEvaluation(array, x, y, dx, dy); },
67 "array"_a,
"x"_a,
"y"_a,
"dx"_a,
"dy"_a);
68 clsBasisEvaluator.def(
"fillEvaluation",
70 return self.fillEvaluation(array, point);
72 "array"_a,
"point"_a);
73 clsBasisEvaluator.def(
76 Array1d const &dy) {
return self.fillEvaluation(array, point, dx, dy); },
77 "array"_a,
"point"_a,
"dx"_a,
"dy"_a);
78 clsBasisEvaluator.def(
"fillEvaluation",
80 return self.fillEvaluation(array, extent);
82 "array"_a,
"extent"_a);
83 clsBasisEvaluator.def(
86 Array1d const &dx,
Array1d const &dy) {
return self.fillEvaluation(array, extent, dx, dy); },
87 "array"_a,
"extent"_a,
"dx"_a,
"dy"_a);
88 clsBasisEvaluator.def(
"fillIntegration", &BasisEvaluator::fillIntegration,
"array"_a,
"xMoment"_a = 0,
Evaluates a standard shapelet Basis.
ndarray::Array< double, 1 > Array1d
Typedef for a commonly-used array type.
PYBIND11_PLUGIN(basisEvaluator)