LSSTApplications  11.0-24-g0a022a1,12.1-4-g110c6f4+31,15.0+14,15.0+9,15.0-1-g19261fa+6,15.0-1-g60afb23+14,15.0-1-g615e0bb+6,15.0-1-g6668b0b+5,15.0-1-g788a293+14,15.0-1-ga91101e+14,15.0-1-gae1598d+8,15.0-1-gd076f1f+13,15.0-1-gdf18595+2,15.0-1-gf4f1c34+8,15.0-2-g100d730+7,15.0-2-g18f3f21+8,15.0-2-g20c4630+2,15.0-2-g35685a8+9,15.0-2-g5dfaa72+2,15.0-2-gf38729e+8,15.0-23-g309a1dfe0,15.0-3-g150fc43+17,15.0-3-g6f085af+7,15.0-3-g707930d,15.0-3-g9103c06+8,15.0-3-ga03b4ca+20,15.0-3-gaec6799+5,15.0-4-g45f767a+8,15.0-4-g5589a47,15.0-4-g654b129+12,15.0-4-gff20472+17,15.0-5-g0db841d+1,15.0-5-g23e394c+1,15.0-6-g86eaddf,15.0-6-g9a9df217+9,15.0-8-g11095dd,15.0-8-g306a5613
LSSTDataManagementBasePackage
Functions
ellipse.cc File Reference
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>
#include "ndarray/pybind11.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 42 of file ellipse.cc.

42  {
43  py::module mod("_ellipse", "Python wrapper for afw _ellipse library");
44 
45  /* Module level */
46  py::class_<Ellipse, std::shared_ptr<Ellipse>> clsEllipse(mod, "Ellipse");
47 
48  // /* Member types and enums */
49  // py::class_<Ellipse::GridTransform> clsEllipseGridTransform(clsEllipse, "GridTransform");
50  //
51  // /* Constructors */
52  // clsEllipseGridTransform.def(py::init<Ellipse const &>());
53  //
54  // /* Members */
55  // clsEllipseGridTransform.def("getMatrix", &Ellipse::GridTransform::getMatrix);
56  // clsEllipseGridTransform.def("d", &Ellipse::GridTransform::d);
57  // clsEllipseGridTransform.def("getDeterminant", &Ellipse::GridTransform::getDeterminant);
58  // clsEllipseGridTransform.def("invert", &Ellipse::GridTransform::invert);
59 
60  /* Constructors */
61  clsEllipse.def(py::init<BaseCore const &, Point2D const &>(), "core"_a, "center"_a = Point2D());
62  clsEllipse.def(py::init<Ellipse const &>());
63  clsEllipse.def(py::init<Ellipse::Convolution const &>());
64 
65  py::implicitly_convertible<Ellipse::Convolution, Ellipse>();
66 
67  /* Operators */
68 
69  /* Members */
70  clsEllipse.def("getCore", [](Ellipse &ellipse) { return ellipse.getCorePtr(); });
71  clsEllipse.def("getCenter", (Point2D & (Ellipse::*)()) & Ellipse::getCenter);
72  clsEllipse.def("setCenter", &Ellipse::setCenter);
73  clsEllipse.def("setCore", &Ellipse::setCore);
74  clsEllipse.def("normalize", &Ellipse::normalize);
75  clsEllipse.def("grow", &Ellipse::grow);
76  clsEllipse.def("scale", &Ellipse::scale);
77  clsEllipse.def("shift", &Ellipse::shift);
78  clsEllipse.def("getParameterVector", &Ellipse::getParameterVector);
79  clsEllipse.def("setParameterVector", &Ellipse::setParameterVector);
80  clsEllipse.def("transform",
81  [](Ellipse const &self, AffineTransform const &t) -> Ellipse { return self.transform(t); },
82  "transform"_a);
83  // clsEllipse.def("convolve", (Convolution const (Ellipse::*)(Ellipse const &) const)
84  // &Ellipse::convolve);
85  clsEllipse.def("getGridTransform", [](Ellipse &self) -> AffineTransform {
86  return self.getGridTransform(); // delibarate conversion to AffineTransform
87  });
88  clsEllipse.def("computeBBox", &Ellipse::computeBBox);
89 
90  return mod.ptr();
91 }
def normalize(v)
Definition: geometry.py:99
def scale(algorithm, min, max=None, frame=None)
Definition: ds9.py:113
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