LSSTApplications  15.0+21,16.0+1,16.0+3,16.0+4,16.0+8,16.0-1-g2115a9e+2,16.0-1-g4515a79+6,16.0-1-g5c6f5ee+4,16.0-1-g7bb14cc,16.0-1-g80120d7+4,16.0-1-g98efed3+4,16.0-1-gb7f560d+1,16.0-14-gb4f0cd2fa,16.0-2-g1ad129e+1,16.0-2-g2ed7261+1,16.0-2-g311bfd2,16.0-2-g568a347+3,16.0-2-g852da13+6,16.0-2-gd4c87cb+3,16.0-3-g099ede0,16.0-3-g150e024+3,16.0-3-g1f513a6,16.0-3-g958ce35,16.0-4-g08dccf71+4,16.0-4-g128aaef,16.0-4-g84f75fb+5,16.0-4-gcfd1396+4,16.0-4-gde8cee2,16.0-4-gdfb0d14+1,16.0-5-g7bc0afb+3,16.0-5-g86fb31a+3,16.0-6-g2dd73041+4,16.0-7-g95fb7bf,16.0-7-gc37dbc2+4,w.2018.28
LSSTDataManagementBasePackage
Functions
ellipse.cc File Reference
#include "pybind11/pybind11.h"
#include "pybind11/eigen.h"
#include "pybind11/stl.h"
#include "ndarray/pybind11.h"
#include "lsst/geom.h"
#include "lsst/afw/geom/ellipses/BaseCore.h"
#include "lsst/afw/geom/ellipses/Convolution.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 &, lsst::geom::Point2D const &>(), "core"_a, "center"_a = lsst::geom::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", (lsst::geom::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, lsst::geom::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) -> lsst::geom::AffineTransform {
86  return self.getGridTransform(); // delibarate conversion to lsst::geom::AffineTransform
87  });
88  clsEllipse.def("computeBBox", &Ellipse::computeBBox);
89 
90  return mod.ptr();
91 }
An affine coordinate transformation consisting of a linear transformation and an offset.
def scale(algorithm, min, max=None, frame=None)
Definition: ds9.py:113
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
Transformer transform(lsst::geom::AffineTransform const &transform)
Definition: Transformer.h:124