22 #include "pybind11/pybind11.h"
24 #include "lsst/afw/table/io/python.h"
26 #include "lsst/pex/config/python.h"
28 namespace py = pybind11;
29 using namespace pybind11::literals;
33 namespace algorithms {
36 py::module mod(
"coaddPsf");
39 py::class_<CoaddPsfControl, std::shared_ptr<CoaddPsfControl>> clsControl(mod,
"CoaddPsfControl");
40 clsControl.def(py::init<std::string, int>(),
"warpingKernelName"_a=
"lanczos3",
"cacheSize"_a=10000);
45 afw::table::io::python::declarePersistableFacade<CoaddPsf>(mod,
"CoaddPsf");
47 py::class_<CoaddPsf, std::shared_ptr<CoaddPsf>, afw::table::io::PersistableFacade<CoaddPsf>,
ImagePsf>
48 clsCoaddPsf(mod,
"CoaddPsf");
51 clsCoaddPsf.def(py::init<afw::table::ExposureCatalog
const &, afw::image::Wcs
const &,
52 std::string
const &, std::string
const &,
int>(),
53 "catalog"_a,
"coaddWcs"_a,
"weightFieldName"_a =
"weight",
54 "warpingKernelName"_a =
"lanczos3",
"cacheSize"_a = 10000);
55 clsCoaddPsf.def(py::init<afw::table::ExposureCatalog
const &, afw::image::Wcs
const &,
57 "catalog"_a,
"coaddWcs"_a,
"ctrl"_a,
"weightFieldName"_a =
"weight");
60 clsCoaddPsf.def(
"clone", &CoaddPsf::clone);
61 clsCoaddPsf.def(
"getAveragePosition", &CoaddPsf::getAveragePosition);
62 clsCoaddPsf.def(
"getCoaddWcs", &CoaddPsf::getCoaddWcs);
63 clsCoaddPsf.def(
"getComponentCount", &CoaddPsf::getComponentCount);
64 clsCoaddPsf.def(
"getPsf", &CoaddPsf::getPsf);
65 clsCoaddPsf.def(
"getWcs", &CoaddPsf::getWcs);
66 clsCoaddPsf.def(
"getWeight", &CoaddPsf::getWeight);
67 clsCoaddPsf.def(
"getId", &CoaddPsf::getId);
68 clsCoaddPsf.def(
"getBBox", &CoaddPsf::getBBox);
69 clsCoaddPsf.def(
"getValidPolygon", &CoaddPsf::getValidPolygon);
70 clsCoaddPsf.def(
"isPersistable", &CoaddPsf::isPersistable);
tbl::Key< int > cacheSize
PYBIND11_PLUGIN(binnedWcs)
tbl::Key< std::string > warpingKernelName
An intermediate base class for Psfs that use an image representation.