LSSTApplications  11.0-24-g0a022a1,15.0+13,15.0+9,15.0-1-g19261fa+5,15.0-1-g1eca518+15,15.0-1-g60afb23+12,15.0-1-g615e0bb+4,15.0-1-g6668b0b+5,15.0-1-g788a293+12,15.0-1-ga91101e+12,15.0-1-gae1598d+8,15.0-1-gc45031d+15,15.0-1-gd076f1f+12,15.0-1-gdf18595+2,15.0-1-gf4f1c34+8,15.0-2-g100d730+5,15.0-2-g18f3f21+5,15.0-2-g35685a8+6,15.0-2-gf38729e+5,15.0-21-g91b8abf62,15.0-3-g150fc43+14,15.0-3-g6f085af+5,15.0-3-g707930d,15.0-3-g9103c06+8,15.0-3-ga03b4ca+16,15.0-3-gaec6799+5,15.0-3-gb7a597c+12,15.0-3-ge6a6747+5,15.0-4-g45f767a+8,15.0-4-g654b129+10,15.0-4-gf5d1e39,15.0-4-gff20472+15,15.0-5-ga70c291+5,15.0-6-g9a9df217+5,15.0-7-gab4c137+6,15.0-7-gab79a70c+4
LSSTDataManagementBasePackage
Functions
ellipse.cc File Reference
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>
#include "numpy/arrayobject.h"
#include "ndarray/pybind11.h"
#include "ndarray/converter.h"
#include "lsst/afw/geom/ellipses/BaseCore.h"
#include "lsst/afw/geom/ellipses/Convolution.h"
#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"

Go to the source code of this file.

Functions

 PYBIND11_PLUGIN (_ellipse)
 

Function Documentation

◆ PYBIND11_PLUGIN()

PYBIND11_PLUGIN ( _ellipse  )

Definition at line 44 of file ellipse.cc.

44  {
45  py::module mod("_ellipse", "Python wrapper for afw _ellipse library");
46 
47  if (_import_array() < 0) {
48  PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import");
49  return nullptr;
50  }
51 
52  /* Module level */
53  py::class_<Ellipse, std::shared_ptr<Ellipse>> clsEllipse(mod, "Ellipse");
54 
55  // /* Member types and enums */
56  // py::class_<Ellipse::GridTransform> clsEllipseGridTransform(clsEllipse, "GridTransform");
57  //
58  // /* Constructors */
59  // clsEllipseGridTransform.def(py::init<Ellipse const &>());
60  //
61  // /* Members */
62  // clsEllipseGridTransform.def("getMatrix", &Ellipse::GridTransform::getMatrix);
63  // clsEllipseGridTransform.def("d", &Ellipse::GridTransform::d);
64  // clsEllipseGridTransform.def("getDeterminant", &Ellipse::GridTransform::getDeterminant);
65  // clsEllipseGridTransform.def("invert", &Ellipse::GridTransform::invert);
66 
67  /* Constructors */
68  clsEllipse.def(py::init<BaseCore const &, Point2D const &>(), "core"_a, "center"_a = Point2D());
69  clsEllipse.def(py::init<Ellipse const &>());
70  clsEllipse.def(py::init<Ellipse::Convolution const &>());
71 
72  py::implicitly_convertible<Ellipse::Convolution, Ellipse>();
73 
74  /* Operators */
75 
76  /* Members */
77  clsEllipse.def("getCore", [](Ellipse &ellipse) { return ellipse.getCorePtr(); });
78  clsEllipse.def("getCenter", (Point2D & (Ellipse::*)()) & Ellipse::getCenter);
79  clsEllipse.def("setCenter", &Ellipse::setCenter);
80  clsEllipse.def("setCore", &Ellipse::setCore);
81  clsEllipse.def("normalize", &Ellipse::normalize);
82  clsEllipse.def("grow", &Ellipse::grow);
83  clsEllipse.def("scale", &Ellipse::scale);
84  clsEllipse.def("shift", &Ellipse::shift);
85  clsEllipse.def("getParameterVector", &Ellipse::getParameterVector);
86  clsEllipse.def("setParameterVector", &Ellipse::setParameterVector);
87  clsEllipse.def("transform",
88  [](Ellipse const &self, AffineTransform const &t) -> Ellipse { return self.transform(t); },
89  "transform"_a);
90  // clsEllipse.def("convolve", (Convolution const (Ellipse::*)(Ellipse const &) const)
91  // &Ellipse::convolve);
92  clsEllipse.def("getGridTransform", [](Ellipse &self) -> AffineTransform {
93  return self.getGridTransform(); // delibarate conversion to AffineTransform
94  });
95  clsEllipse.def("computeBBox", &Ellipse::computeBBox);
96 
97  return mod.ptr();
98 }
def normalize(v)
Definition: geometry.py:99
def scale(algorithm, min, max=None, frame=None)
Definition: ds9.py:115
Transformer transform(AffineTransform const &transform)
Definition: Transformer.h:122
Point< double, 2 > Point2D
Definition: Point.h:304
An affine coordinate transformation consisting of a linear transformation and an offset.
An ellipse defined by an arbitrary BaseCore and a center point.
Definition: Ellipse.h:51
std::shared_ptr< BaseCore const > getCorePtr() const
Return the ellipse core.
Definition: Ellipse.h:77