LSSTApplications  12.1-5-gbdcc3ab,15.0+10,15.0+24,15.0-1-g19261fa+15,15.0-1-g60afb23+24,15.0-1-g615e0bb+16,15.0-1-g6668b0b+6,15.0-1-g788a293+24,15.0-1-ga91101e+24,15.0-1-gae1598d+9,15.0-1-gd076f1f+22,15.0-1-gdf18595+3,15.0-1-gf4f1c34+9,15.0-11-g7db6e543+2,15.0-12-g3681e7a+2,15.0-13-g5992896b,15.0-13-g7441b25,15.0-2-g100d730+17,15.0-2-g1f9c9cf+2,15.0-2-gf38729e+19,15.0-27-g6268be7ac,15.0-3-g11fe1a0+11,15.0-3-g52118bc+2,15.0-3-g707930d+1,15.0-3-g7b706ea+2,15.0-3-g9103c06+9,15.0-3-gd3cbb57+1,15.0-4-g535e784+8,15.0-4-g92ca6c3+2,15.0-4-gf906033,15.0-5-g23e394c+12,15.0-5-g993f083+4,15.0-5-gf788cd9+2,15.0-6-gdf787ba+1,15.0-6-gfa9b38f+2,15.0-7-g949993c+1,15.0-7-gbf600c9+3,15.0-8-gc213bcc,w.2018.20
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 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