LSST Applications g0f08755f38+9c285cab97,g1635faa6d4+13f3999e92,g1653933729+a8ce1bb630,g1a0ca8cf93+bf6eb00ceb,g28da252d5a+0829b12dee,g29321ee8c0+5700dc9eac,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+fde0dd39b6,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g80478fca09+55a9465950,g82479be7b0+d730eedb7d,g858d7b2824+9c285cab97,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+2a84bb7594,gacf8899fa4+c69c5206e8,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gc28159a63d+9634bc57db,gcf0d15dbbd+4b7d09cae4,gda3e153d99+9c285cab97,gda6a2b7d83+4b7d09cae4,gdaeeff99f8+1711a396fd,ge2409df99d+5e831397f4,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+41c94011de,gf3fb38a9a8+8f07a9901b,gfb92a5be7c+9c285cab97,w.2024.46
LSST Data Management Base Package
|
An ellipse defined by an arbitrary BaseCore and a center point. More...
#include <Ellipse.h>
Classes | |
class | GridTransform |
A temporary-only expression object representing an lsst::geom::AffineTransform that maps the Ellipse to a unit circle at the origin. More... | |
class | Transformer |
A temporary-only expression object for ellipse transformations. More... | |
Public Types | |
enum | ParameterEnum { X = 3 , Y = 4 } |
using | ParameterVector = Eigen::Matrix<double, 5, 1> |
Proxy return type for Ellipse::convolve(). | |
Public Member Functions | |
lsst::geom::Point2D const & | getCenter () const |
Return the center point. | |
lsst::geom::Point2D & | getCenter () |
Return the center point. | |
void | setCenter (lsst::geom::Point2D const ¢er) |
Set the center point. | |
BaseCore const & | getCore () const |
Return the ellipse core. | |
BaseCore & | getCore () |
Return the ellipse core. | |
std::shared_ptr< BaseCore const > | getCorePtr () const |
Return the ellipse core. | |
std::shared_ptr< BaseCore > | getCorePtr () |
Return the ellipse core. | |
void | setCore (BaseCore const &core) |
Set the ellipse core; the type of the core is not changed. | |
void | normalize () |
Put the parameters in a standard form. | |
void | grow (double buffer) |
Increase the major and minor radii of the ellipse by the given buffer. | |
void | scale (double factor) |
Scale the size of the ellipse by the given factor. | |
void | shift (lsst::geom::Extent2D const &offset) |
Move the ellipse center by the given offset. | |
ParameterVector const | getParameterVector () const |
Return the ellipse parameters as a vector. | |
void | setParameterVector (ParameterVector const &vector) |
Set the ellipse parameters from a vector. | |
void | readParameters (double const *iter) |
void | writeParameters (double *iter) const |
Coordinate transforms | |
These member functions transform the ellipse by the given lsst::geom::AffineTransform. The transform can be done in-place by calling inPlace() on the returned expression object, or returned as a new shared_ptr by calling copy(). | |
Transformer | transform (lsst::geom::AffineTransform const &transform) |
Transformer const | transform (lsst::geom::AffineTransform const &transform) const |
Convolve two bivariate Gaussians defined by their 1-sigma ellipses. | |
Convolution | convolve (Ellipse const &other) |
Return the transform that maps the ellipse to the unit circle. | |
Convolution const | convolve (Ellipse const &other) const |
Return the transform that maps the ellipse to the unit circle. | |
GridTransform const | getGridTransform () const |
Return the transform that maps the ellipse to the unit circle. | |
lsst::geom::Box2D | computeBBox () const |
Return the bounding box of the ellipse. | |
Ellipse & | operator= (Ellipse const &other) |
Set the parameters of this ellipse from another. | |
Ellipse & | operator= (Ellipse &&other) |
Return the transform that maps the ellipse to the unit circle. | |
bool | operator== (Ellipse const &other) const |
Compare two ellipses for equality. | |
bool | operator!= (Ellipse const &other) const |
Compare two ellipses for inequality. | |
virtual | ~Ellipse ()=default |
Return the transform that maps the ellipse to the unit circle. | |
Ellipse (BaseCore const &core, lsst::geom::Point2D const ¢er=lsst::geom::Point2D()) | |
Return the transform that maps the ellipse to the unit circle. | |
Ellipse (std::shared_ptr< BaseCore const > const &core, lsst::geom::Point2D const ¢er=lsst::geom::Point2D()) | |
Return the transform that maps the ellipse to the unit circle. | |
Ellipse (Transformer const &other) | |
Return the transform that maps the ellipse to the unit circle. | |
Ellipse (Convolution const &other) | |
Return the transform that maps the ellipse to the unit circle. | |
Ellipse (Ellipse const &other) | |
Return the transform that maps the ellipse to the unit circle. | |
Ellipse (Ellipse &&other) | |
Return the transform that maps the ellipse to the unit circle. | |
An ellipse defined by an arbitrary BaseCore and a center point.
An ellipse is composed of its center coordinate and its Core - a parametrization of the ellipticity and size of the ellipse. Setting the core of an ellipse never changes the type of the contained core, it merely sets the parameters of that core by converting the parameters.
using lsst::afw::geom::ellipses::Ellipse::ParameterVector = Eigen::Matrix<double, 5, 1> |
Proxy return type for Ellipse::convolve().
Parameter vector type.
|
virtualdefault |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::AffineTransform and also supports differentiation.
|
inlineexplicit |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::AffineTransform and also supports differentiation.
Definition at line 164 of file Ellipse.h.
|
inlineexplicit |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::AffineTransform and also supports differentiation.
Definition at line 167 of file Ellipse.h.
|
inline |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::AffineTransform and also supports differentiation.
Definition at line 132 of file Transformer.h.
lsst::afw::geom::ellipses::Ellipse::Ellipse | ( | Convolution const & | other | ) |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::AffineTransform and also supports differentiation.
Definition at line 75 of file Convolution.cc.
|
inline |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::AffineTransform and also supports differentiation.
Definition at line 174 of file Ellipse.h.
|
inline |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::AffineTransform and also supports differentiation.
Definition at line 176 of file Ellipse.h.
lsst::geom::Box2D lsst::afw::geom::ellipses::Ellipse::computeBBox | ( | ) | const |
Return the bounding box of the ellipse.
Definition at line 55 of file Ellipse.cc.
|
inline |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::AffineTransform and also supports differentiation.
Definition at line 99 of file Convolution.h.
|
inline |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::AffineTransform and also supports differentiation.
Definition at line 103 of file Convolution.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::AffineTransform and also supports differentiation.
Definition at line 114 of file GridTransform.h.
Ellipse::ParameterVector const lsst::afw::geom::ellipses::Ellipse::getParameterVector | ( | ) | const |
Return the ellipse parameters as a vector.
Definition at line 31 of file Ellipse.cc.
|
inline |
|
inline |
|
inline |
Compare two ellipses for inequality.
Ellipses are only equal if they have the same Core types.
Definition at line 160 of file Ellipse.h.
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::AffineTransform and also supports differentiation.
Definition at line 66 of file Ellipse.cc.
Set the parameters of this ellipse from another.
This does not change the parametrization of the ellipse.
Definition at line 60 of file Ellipse.cc.
|
inline |
void lsst::afw::geom::ellipses::Ellipse::readParameters | ( | double const * | iter | ) |
Definition at line 43 of file Ellipse.cc.
|
inline |
|
inline |
|
inline |
void lsst::afw::geom::ellipses::Ellipse::setParameterVector | ( | Ellipse::ParameterVector const & | vector | ) |
Set the ellipse parameters from a vector.
Definition at line 38 of file Ellipse.cc.
|
inline |
|
inline |
Definition at line 124 of file Transformer.h.
|
inline |
Definition at line 128 of file Transformer.h.
void lsst::afw::geom::ellipses::Ellipse::writeParameters | ( | double * | iter | ) | const |
Definition at line 49 of file Ellipse.cc.