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");
37 py::module mod(
"gaussHermiteProjection");
39 if (_import_array() < 0) {
40 PyErr_SetString(PyExc_ImportError,
"numpy.core.multiarray failed to import");
44 py::class_<GaussHermiteProjection, std::shared_ptr<GaussHermiteProjection>> clsGaussHermiteProjection(
45 mod,
"GaussHermiteProjection");
47 clsGaussHermiteProjection.def(py::init<int>(),
"maxOrder"_a);
49 clsGaussHermiteProjection.def(
"compute",
51 afw::geom::ellipses::Quadrupole
const &,
int inputOrder,
52 afw::geom::ellipses::Quadrupole
const &,
int outputOrder)
const) &
53 GaussHermiteProjection::compute);
54 clsGaussHermiteProjection.def(
"compute",
56 afw::geom::LinearTransform
const &,
int inputOrder,
57 afw::geom::LinearTransform
const &,
int outputOrder)
const) &
58 GaussHermiteProjection::compute);
59 clsGaussHermiteProjection.def(
61 Eigen::Matrix2d
const &,
int)
const) &
62 GaussHermiteProjection::compute);
64 clsGaussHermiteProjection.def(
"getMaxOrder", &GaussHermiteProjection::getMaxOrder);
PYBIND11_PLUGIN(gaussHermiteProjection)