23 #include "pybind11/pybind11.h" 33 namespace py = pybind11;
40 void declareFitterBase(py::module &mod) {
41 py::class_<FitterBase, std::shared_ptr<FitterBase>> cls(mod,
"FitterBase");
43 cls.def(
"minimize", &FitterBase::minimize,
"whatToFit"_a,
"nSigRejCut"_a = 0);
45 cls.def(
"saveResultTuples", &FitterBase::saveResultTuples);
48 void declareAstrometryFit(py::module &mod) {
49 py::class_<AstrometryFit, std::shared_ptr<AstrometryFit>, FitterBase> cls(mod,
"AstrometryFit");
51 cls.def(py::init<std::shared_ptr<Associations>, std::shared_ptr<AstrometryModel>,
double>(),
52 "associations"_a,
"astrometryModel"_a,
"posError"_a);
55 void declarePhotometryFit(py::module &mod) {
56 py::class_<PhotometryFit, std::shared_ptr<PhotometryFit>, FitterBase> cls(mod,
"PhotometryFit");
58 cls.def(py::init<std::shared_ptr<Associations>, std::shared_ptr<PhotometryModel>>(),
"associations"_a,
63 py::module::import(
"lsst.jointcal.associations");
64 py::module::import(
"lsst.jointcal.astrometryModels");
65 py::module::import(
"lsst.jointcal.chi2");
66 py::module::import(
"lsst.jointcal.photometryModels");
67 py::module mod(
"fitter");
69 py::enum_<MinimizeResult>(mod,
"MinimizeResult")
70 .value(
"Converged", MinimizeResult::Converged)
71 .value(
"Chi2Increased", MinimizeResult::Chi2Increased)
72 .value(
"Failed", MinimizeResult::Failed);
74 declareFitterBase(mod);
75 declareAstrometryFit(mod);
76 declarePhotometryFit(mod);
Class for a simple mapping implementing a generic Gtransfo.
double computeChi2(const StarMatchList &L, const Gtransfo >ransfo)
the actual chi2