25 #include "pybind11/pybind11.h" 26 #include "pybind11/eigen.h" 27 #include "pybind11/stl.h" 28 #include "ndarray/pybind11.h" 29 #include "ndarray/eigen.h" 48 py::class_<PhotometryModel, std::shared_ptr<PhotometryModel>>
cls(mod,
"PhotometryModel");
50 cls.def(
"assignIndices", &PhotometryModel::assignIndices);
51 cls.def(
"freezeErrorTransform", &PhotometryModel::freezeErrorTransform);
53 cls.def(
"offsetParams", &PhotometryModel::offsetParams);
54 cls.def(
"offsetFittedStar", &PhotometryModel::offsetFittedStar);
57 cls.def(
"transformError", &PhotometryModel::transformError);
58 cls.def(
"computeResidual", &PhotometryModel::computeResidual);
60 cls.def(
"getRefError", &PhotometryModel::getRefError);
61 cls.def(
"computeRefResidual", &PhotometryModel::computeRefResidual);
63 cls.def(
"checkPositiveOnBBox", &PhotometryModel::checkPositiveOnBBox);
66 cls.def(
"getMappingIndices", &PhotometryModel::getMappingIndices);
67 cls.def(
"computeParameterDerivatives",
68 [](PhotometryModel
const &
self, MeasuredStar
const &star, CcdImage
const &
ccdImage) {
69 Eigen::VectorXd derivatives(
self.getNpar(ccdImage));
70 self.computeParameterDerivatives(star, ccdImage, derivatives);
74 cls.def(
"getNpar", &PhotometryModel::getNpar);
75 cls.def(
"toPhotoCalib", &PhotometryModel::toPhotoCalib);
76 cls.def(
"getMapping", &PhotometryModel::getMapping, py::return_value_policy::reference_internal);
77 cls.def(
"getTotalParameters", &PhotometryModel::getTotalParameters);
81 void declareSimplePhotometryModel(
py::module &mod) {
82 py::class_<SimplePhotometryModel, std::shared_ptr<SimplePhotometryModel>, PhotometryModel>
cls(
83 mod,
"SimplePhotometryModel");
87 py::class_<SimpleFluxModel, std::shared_ptr<SimpleFluxModel>, SimplePhotometryModel, PhotometryModel>
cls(
88 mod,
"SimpleFluxModel");
89 cls.def(py::init<CcdImageList const &, double>(),
"ccdImageList"_a,
"errorPedestal"_a = 0);
92 void declareSimpleMagnitudeModel(
py::module &mod) {
93 py::class_<SimpleMagnitudeModel, std::shared_ptr<SimpleMagnitudeModel>, SimplePhotometryModel,
95 cls(mod,
"SimpleMagnitudeModel");
96 cls.def(py::init<CcdImageList const &, double>(),
"ccdImageList"_a,
"errorPedestal"_a = 0);
99 void declareConstrainedPhotometryModel(
py::module &mod) {
100 py::class_<ConstrainedPhotometryModel, std::shared_ptr<ConstrainedPhotometryModel>, PhotometryModel>
cls(
101 mod,
"ConstrainedPhotometryModel");
104 void declareConstrainedFluxModel(
py::module &mod) {
105 py::class_<ConstrainedFluxModel, std::shared_ptr<ConstrainedFluxModel>, PhotometryModel>
cls(
106 mod,
"ConstrainedFluxModel");
107 cls.def(py::init<CcdImageList const &, lsst::geom::Box2D const &, int, double>(),
"CcdImageList"_a,
108 "bbox"_a,
"visitOrder"_a = 7,
"errorPedestal"_a = 0);
111 void declareConstrainedMagnitudeModel(
py::module &mod) {
112 py::class_<ConstrainedMagnitudeModel, std::shared_ptr<ConstrainedMagnitudeModel>, PhotometryModel>
cls(
113 mod,
"ConstrainedMagnitudeModel");
114 cls.def(py::init<CcdImageList const &, lsst::geom::Box2D const &, int, double>(),
"CcdImageList"_a,
115 "bbox"_a,
"visitOrder"_a = 7,
"errorPedestal"_a = 0);
119 py::module::import(
"lsst.jointcal.ccdImage");
120 py::module::import(
"lsst.jointcal.photometryTransform");
121 py::module::import(
"lsst.jointcal.star");
122 declarePhotometryModel(mod);
123 declareSimplePhotometryModel(mod);
124 declareSimpleFluxModel(mod);
125 declareSimpleMagnitudeModel(mod);
126 declareConstrainedPhotometryModel(mod);
127 declareConstrainedFluxModel(mod);
128 declareConstrainedMagnitudeModel(mod);
void addOutputOp(PyClass &cls, std::string const &method)
Add __str__ or __repr__ method implemented by operator<<.
PYBIND11_MODULE(camera, mod)
A base class for image defects.