Skip to content

Commit

Permalink
Merge pull request #180 from lsst/tickets/DM-8465
Browse files Browse the repository at this point in the history
DM-8465: wrap meas_modelfit with pybind11
  • Loading branch information
TallJimbo committed Feb 28, 2017
2 parents a212918 + 4ff7884 commit 846abd0
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 3 deletions.
9 changes: 8 additions & 1 deletion python/lsst/afw/geom/ellipses/ellipse.cc
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
#include "lsst/afw/geom/Point.h"
#include "lsst/afw/geom/ellipses/GridTransform.h"
#include "lsst/afw/geom/ellipses/Ellipse.h"
#include "lsst/afw/geom/ellipses/Transformer.h"

namespace py = pybind11;
using namespace pybind11::literals;
Expand Down Expand Up @@ -85,7 +86,13 @@ PYBIND11_PLUGIN(_ellipse) {
clsEllipse.def("shift", &Ellipse::shift);
clsEllipse.def("getParameterVector", &Ellipse::getParameterVector);
clsEllipse.def("setParameterVector", &Ellipse::setParameterVector);
// clsEllipse.def("transform", (Transformer const (Ellipse::*)(AffineTransform const &) const) &Ellipse::transform);
clsEllipse.def(
"transform",
[](Ellipse const & self, AffineTransform const & t) -> Ellipse {
return self.transform(t);
},
"transform"_a
);
// clsEllipse.def("convolve", (Convolution const (Ellipse::*)(Ellipse const &) const) &Ellipse::convolve);
clsEllipse.def("getGridTransform", [](Ellipse & self) -> AffineTransform {
return self.getGridTransform(); // delibarate conversion to AffineTransform
Expand Down
2 changes: 1 addition & 1 deletion python/lsst/afw/table/aggregates.cc
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@ void declareCovarianceMatrixKey(py::module &mod, const::std::string & suffix) {
py::class_<CovarianceMatrixKey<T,N>> cls(mod, ("CovarianceMatrix"+suffix+"Key").c_str());

cls.def(py::init<>());
cls.def(py::init<SubSchema const &, NameArray const &>());
cls.def(py::init<SigmaKeyArray const &, CovarianceKeyArray const &>(),
"sigma"_a, "cov"_a=CovarianceKeyArray());
cls.def(py::init<SubSchema const &, NameArray const &>());

cls.def("__eq__", &CovarianceMatrixKey<T,N>::operator==, py::is_operator());
cls.def("__ne__", &CovarianceMatrixKey<T,N>::operator!=, py::is_operator());
Expand Down
2 changes: 1 addition & 1 deletion python/lsst/afw/table/arrays.cc
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ void declareArrayKey(py::module & mod, std::string const & suffix) {

clsArrayKey.def(py::init<>());
clsArrayKey.def(py::init<Key<Array<T>> const &>());
clsArrayKey.def(py::init<std::vector< Key<T> > const &>());
clsArrayKey.def(py::init<SubSchema const &>());
clsArrayKey.def(py::init<std::vector< Key<T> > const &>());

clsArrayKey.def_static("addFields", (ArrayKey<T> (*)(
Schema &,
Expand Down
1 change: 1 addition & 0 deletions python/lsst/afw/table/schema.cc
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ PYBIND11_PLUGIN(_schema) {

clsSubSchema.def("getNames", &SubSchema::getNames, "topOnly"_a=false);
clsSubSchema.def("getPrefix", &SubSchema::getPrefix);
clsSubSchema.def("__getitem__", &SubSchema::operator[]);

declareSubSchemaOverloads<std::uint16_t>(clsSubSchema, "U");
declareSubSchemaOverloads<std::int32_t>(clsSubSchema, "I");
Expand Down

0 comments on commit 846abd0

Please sign in to comment.