LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
|
An ellipse defined by an arbitrary BaseCore and a center point. More...
#include <Ellipse.h>
Classes | |
class | Convolution |
A temporary-only expression object for ellipse convolution. More... | |
class | GridTransform |
A temporary-only expression object representing an 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 } |
typedef Eigen::Matrix< double, 5, 1 > | ParameterVector |
Proxy return type for Ellipse::convolve(). More... | |
typedef boost::shared_ptr < Ellipse > | Ptr |
typedef boost::shared_ptr < Ellipse const > | ConstPtr |
Public Member Functions | |
Point2D const & | getCenter () const |
Return the center point. More... | |
Point2D & | getCenter () |
Return the center point. More... | |
void | setCenter (Point2D const ¢er) |
Set the center point. More... | |
BaseCore const & | getCore () const |
Return the ellipse core. More... | |
BaseCore & | getCore () |
Return the ellipse core. More... | |
BaseCore::ConstPtr | getCorePtr () const |
Return the ellipse core. More... | |
BaseCore::Ptr | getCorePtr () |
Return the ellipse core. More... | |
void | setCore (BaseCore const &core) |
Set the ellipse core; the type of the core is not changed. More... | |
void | normalize () |
Put the parameters in a standard form. More... | |
void | grow (double buffer) |
Increase the major and minor radii of the ellipse by the given buffer. More... | |
void | scale (double factor) |
Scale the size of the ellipse by the given factor. More... | |
void | shift (Extent2D const &offset) |
Move the ellipse center by the given offset. More... | |
ParameterVector const | getParameterVector () const |
Return the ellipse parameters as a vector. More... | |
void | setParameterVector (ParameterVector const &vector) |
Set the ellipse parameters from a vector. More... | |
void | readParameters (double const *iter) |
void | writeParameters (double *iter) const |
GridTransform const | getGridTransform () const |
Return the transform that maps the ellipse to the unit circle. More... | |
Box2D | computeBBox () const |
Return the bounding box of the ellipse. More... | |
Ellipse & | operator= (Ellipse const &other) |
Set the parameters of this ellipse from another. More... | |
bool | operator== (Ellipse const &other) const |
Compare two ellipses for equality. More... | |
bool | operator!= (Ellipse const &other) const |
Compare two ellipses for inequality. More... | |
virtual | ~Ellipse () |
Ellipse (BaseCore const &core, Point2D const ¢er=Point2D()) | |
Ellipse (BaseCore::ConstPtr const &core, Point2D const ¢er=Point2D()) | |
Ellipse (Transformer const &other) | |
Ellipse (Convolution const &other) | |
Ellipse (Ellipse const &other) | |
Coordinate transforms | |
These member functions transform the ellipse by the given 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 (AffineTransform const &transform) |
Transformer const | transform (AffineTransform const &transform) const |
Convolve two bivariate Gaussians defined by their 1-sigma ellipses. | |
Convolution | convolve (Ellipse const &other) |
Convolution const | convolve (Ellipse const &other) const |
Private Attributes | |
BaseCore::Ptr | _core |
Point2D | _center |
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.
typedef boost::shared_ptr<Ellipse const> lsst::afw::geom::ellipses::Ellipse::ConstPtr |
typedef Eigen::Matrix<double,5,1> lsst::afw::geom::ellipses::Ellipse::ParameterVector |
typedef boost::shared_ptr<Ellipse> lsst::afw::geom::ellipses::Ellipse::Ptr |
|
inlinevirtual |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
Definition at line 133 of file Transformer.h.
lsst::afw::geom::ellipses::Ellipse::Ellipse | ( | Convolution const & | other | ) |
|
inline |
Box2D lsst::afw::geom::ellipses::Ellipse::computeBBox | ( | ) | const |
Return the bounding box of the ellipse.
|
inline |
Definition at line 105 of file Convolution.h.
|
inline |
Definition at line 109 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 AffineTransform and also supports differentiation.
Definition at line 114 of file GridTransform.h.
ParameterVector const lsst::afw::geom::ellipses::Ellipse::getParameterVector | ( | ) | const |
Return the ellipse parameters as a vector.
|
inline |
|
inline |
|
inline |
Compare two ellipses for inequality.
Ellipses are only equal if they have the same Core types.
Definition at line 163 of file Ellipse.h.
Set the parameters of this ellipse from another.
This does not change the parametrization of the ellipse.
|
inline |
Compare two ellipses for equality.
Ellipses are only equal if they have the same Core types.
Definition at line 154 of file Ellipse.h.
void lsst::afw::geom::ellipses::Ellipse::readParameters | ( | double const * | iter | ) |
|
inline |
|
inline |
|
inline |
void lsst::afw::geom::ellipses::Ellipse::setParameterVector | ( | ParameterVector const & | vector | ) |
Set the ellipse parameters from a vector.
|
inline |
|
inline |
Definition at line 125 of file Transformer.h.
|
inline |
Definition at line 129 of file Transformer.h.
void lsst::afw::geom::ellipses::Ellipse::writeParameters | ( | double * | iter | ) | const |
|
private |
|
private |