24 #include "pybind11/pybind11.h" 26 #include "numpy/arrayobject.h" 27 #include "ndarray/pybind11.h" 31 namespace py = pybind11;
39 using PyLikelihood = py::class_<Likelihood, std::shared_ptr<Likelihood>>;
42 py::module::import(
"lsst.meas.modelfit.model");
46 if (_import_array() < 0) {
47 PyErr_SetString(PyExc_ImportError,
"numpy.core.multiarray failed to import");
51 PyLikelihood cls(mod,
"Likelihood");
52 cls.def(
"getDataDim", &Likelihood::getDataDim);
53 cls.def(
"getAmplitudeDim", &Likelihood::getAmplitudeDim);
54 cls.def(
"getNonlinearDim", &Likelihood::getNonlinearDim);
55 cls.def(
"getFixedDim", &Likelihood::getFixedDim);
56 cls.def(
"getFixed", &Likelihood::getFixed);
57 cls.def(
"getData", &Likelihood::getData);
58 cls.def(
"getUnweightedData", &Likelihood::getUnweightedData);
59 cls.def(
"getWeights", &Likelihood::getWeights);
60 cls.def(
"getVariance", &Likelihood::getVariance);
61 cls.def(
"getModel", &Likelihood::getModel);
62 cls.def(
"computeModelMatrix", &Likelihood::computeModelMatrix,
"modelMatrix"_a,
"nonlinear"_a,
63 "doApplyWeights"_a =
true);