24 #include "pybind11/pybind11.h"
28 namespace py = pybind11;
29 using namespace pybind11::literals;
36 using PyUnitSystem = py::class_<UnitSystem, std::shared_ptr<UnitSystem>>;
37 using PyLocalUnitTransform = py::class_<LocalUnitTransform, std::shared_ptr<LocalUnitTransform>>;
39 PYBIND11_PLUGIN(unitSystem) {
40 py::module::import(
"lsst.afw.coord");
41 py::module::import(
"lsst.afw.image");
49 PyUnitSystem clsUnitSystem(mod,
"UnitSystem");
50 clsUnitSystem.def_readonly(
"wcs", &UnitSystem::wcs);
51 clsUnitSystem.def_readonly(
"calib", &UnitSystem::calib);
52 clsUnitSystem.def(py::init<afw::coord::Coord
const &, std::shared_ptr<afw::image::Calib const>,
double>(),
53 "position"_a,
"calibIn"_a,
"flux"_a);
54 clsUnitSystem.def(py::init<afw::coord::Coord const &, Scalar>(),
"position"_a,
"mag"_a);
56 py::init<std::shared_ptr<afw::image::Wcs const>, std::shared_ptr<afw::image::Calib const>>(),
58 clsUnitSystem.def(py::init<afw::image::Exposure<float>
const &>(),
"exposure"_a);
59 clsUnitSystem.def(py::init<afw::image::Exposure<double>
const &>(),
"exposure"_a);
61 PyLocalUnitTransform clsLocalUnitTransform(mod,
"LocalUnitTransform");
62 clsLocalUnitTransform.def_readonly(
"geometric", &LocalUnitTransform::geometric);
63 clsLocalUnitTransform.def_readonly(
"flux", &LocalUnitTransform::flux);
64 clsLocalUnitTransform.def_readonly(
"sb", &LocalUnitTransform::sb);
65 clsLocalUnitTransform.def(py::init<afw::coord::Coord const &, UnitSystem const &, UnitSystem const &>(),
66 "position"_a,
"source"_a,
"destination"_a);
67 clsLocalUnitTransform.def(py::init<>());