23 #include "pybind11/pybind11.h" 24 #include "pybind11/stl.h" 32 namespace py = pybind11;
39 void declareAstrometryModel(py::module &mod) {
40 py::class_<AstrometryModel, std::shared_ptr<AstrometryModel>> cls(mod,
"AstrometryModel");
42 cls.def(
"produceSipWcs", &AstrometryModel::produceSipWcs);
43 cls.def(
"getMapping", &AstrometryModel::getMapping, py::return_value_policy::reference_internal);
46 void declareSimplePolyModel(py::module &mod) {
47 py::class_<SimplePolyModel, std::shared_ptr<SimplePolyModel>, AstrometryModel> cls(mod,
50 cls.def(py::init<CcdImageList const &, const ProjectionHandler *, bool, unsigned, unsigned>(),
51 "ccdImageList"_a,
"projectionHandler"_a,
"initFromWcs"_a,
"nNotFit"_a = 0,
"degree"_a = 3);
54 void declareConstrainedPolyModel(py::module &mod) {
55 py::class_<ConstrainedPolyModel, std::shared_ptr<ConstrainedPolyModel>, AstrometryModel> cls(
56 mod,
"ConstrainedPolyModel");
58 cls.def(py::init<CcdImageList const &, const ProjectionHandler *, bool, unsigned>(),
"ccdImageList"_a,
59 "projectionHandler"_a,
"initFromWcs"_a,
"nNotFit"_a = 0);
63 py::module::import(
"lsst.jointcal.ccdImage");
64 py::module::import(
"lsst.jointcal.gtransfo");
65 py::module::import(
"lsst.jointcal.mappings");
66 py::module mod(
"astrometryModels");
68 declareAstrometryModel(mod);
69 declareSimplePolyModel(mod);
70 declareConstrainedPolyModel(mod);
Class for a simple mapping implementing a generic Gtransfo.