LSSTApplications  19.0.0-11-g2ce9f25+2,20.0.0+1,20.0.0+11,20.0.0+2,20.0.0+3,20.0.0+4,20.0.0+5,20.0.0+8,20.0.0+9,20.0.0-1-g009f3de,20.0.0-1-g10df615+8,20.0.0-1-g253301a+4,20.0.0-1-g32a200e+8,20.0.0-1-g596936a+9,20.0.0-1-g8a53f90+1,20.0.0-1-gc96f8cb+10,20.0.0-1-gd1c87d7+1,20.0.0-15-g34741e2+3,20.0.0-2-g04cfba9+2,20.0.0-2-gec03fae+2,20.0.0-3-g082faa5+1,20.0.0-3-g2fa8bb8+6,20.0.0-3-gbdbfa727+1,20.0.0-4-gde602ef96+3,20.0.0-4-ge48a6ca+4,20.0.0-8-g1acaa36,20.0.0-8-g7eef53f7+5,w.2020.27
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_MODULE (ellipse, mod)
 

Function Documentation

◆ PYBIND11_MODULE()

PYBIND11_MODULE ( ellipse  ,
mod   
)

Definition at line 42 of file ellipse.cc.

42  {
43  /* Module level */
44  py::class_<Ellipse, std::shared_ptr<Ellipse>> clsEllipse(mod, "Ellipse");
45 
46  // /* Member types and enums */
47  // py::class_<Ellipse::GridTransform> clsEllipseGridTransform(clsEllipse, "GridTransform");
48  //
49  // /* Constructors */
50  // clsEllipseGridTransform.def(py::init<Ellipse const &>());
51  //
52  // /* Members */
53  // clsEllipseGridTransform.def("getMatrix", &Ellipse::GridTransform::getMatrix);
54  // clsEllipseGridTransform.def("d", &Ellipse::GridTransform::d);
55  // clsEllipseGridTransform.def("getDeterminant", &Ellipse::GridTransform::getDeterminant);
56  // clsEllipseGridTransform.def("inverted", &Ellipse::GridTransform::inverted);
57 
58  py::module::import("lsst.geom");
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 }
lsst::afw::geom::ellipses::Ellipse::getCorePtr
std::shared_ptr< BaseCore const > getCorePtr() const
Return the ellipse core.
Definition: Ellipse.h:77
lsst::geom::AffineTransform
An affine coordinate transformation consisting of a linear transformation and an offset.
Definition: AffineTransform.h:75
lsst::afw::geom::ellipses::Ellipse::transform
Transformer transform(lsst::geom::AffineTransform const &transform)
Definition: Transformer.h:124
lsst::afw::geom::ellipses::Ellipse
An ellipse defined by an arbitrary BaseCore and a center point.
Definition: Ellipse.h:51
lsst::geom::Point< double, 2 >
lsst::afw.display.ds9.scale
def scale(algorithm, min, max=None, frame=None)
Definition: ds9.py:109