Class Ellipse¶
Defined in File Ellipse.h
Nested Relationships¶
Class Documentation¶
-
class
Ellipse
¶ 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.
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().
-
Ellipse::Transformer
transform
(lsst::geom::AffineTransform const &transform)¶
-
Ellipse::Transformer const
transform
(lsst::geom::AffineTransform const &transform) const¶
Convolve two bivariate Gaussians defined by their 1-sigma ellipses.
-
Ellipse::Convolution
convolve
(Ellipse const &other)¶
-
Ellipse::Convolution const
convolve
(Ellipse const &other) const¶
Public Types
-
typedef Eigen::Matrix<double, 5, 1>
ParameterVector
¶ Proxy return type for Ellipse::convolve().
Parameter vector type.
Public Functions
-
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.
-
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¶
-
Ellipse::GridTransform const
getGridTransform
() const¶ 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.
-
Ellipse &
operator=
(Ellipse const &other)¶ Set the parameters of this ellipse from another.
This does not change the parametrization of the ellipse.
-
bool
operator==
(Ellipse const &other) const¶ Compare two ellipses for equality.
Ellipses are only equal if they have the same Core types.
-
bool
operator!=
(Ellipse const &other) const¶ Compare two ellipses for inequality.
Ellipses are only equal if they have the same Core types.
-
virtual
~Ellipse
()¶
-
Ellipse
(Transformer const &other)¶
-
Ellipse
(Convolution const &other)¶
-
class
Convolution
¶ A temporary-only expression object for ellipse convolution.
Public Types
-
typedef Eigen::Matrix<double, 5, 5>
DerivativeMatrix
¶ Matrix type for derivative with respect to input ellipse parameters.
Public Functions
-
void
inPlace
()¶ Convolve the ellipse in-place.
-
DerivativeMatrix
d
() const¶ Return the derivative of convolved ellipse with respect to self.
-
typedef Eigen::Matrix<double, 5, 5>
-
class
GridTransform
¶ A temporary-only expression object representing an lsst::geom::AffineTransform that maps the Ellipse to a unit circle at the origin.
Public Types
-
typedef Eigen::Matrix<double, 6, 5>
DerivativeMatrix
¶ Matrix type for derivative with respect to input ellipse parameters.
Public Functions
-
lsst::geom::AffineTransform::Matrix
getMatrix
() const¶ Return the transform matrix as an Eigen object.
-
DerivativeMatrix
d
() const¶ Return the derivative of transform with respect to input ellipse.
-
double
getDeterminant
() const¶ Return the determinant of the lsst::geom::AffineTransform.
-
operator lsst::geom::AffineTransform
() const¶ Convert the proxy to an lsst::geom::AffineTransform.
-
typedef Eigen::Matrix<double, 6, 5>
-
class
Transformer
¶ A temporary-only expression object for ellipse transformations.
Transformer simply provides a clean syntax for transform-related operations, including in-place and new-object transformations, derivatives of the transformations, and implicit conversion to an auto_ptr to a new transformed ellipse.
Public Types
-
typedef Eigen::Matrix<double, 5, 5>
DerivativeMatrix
¶ Matrix type for derivative with respect to input ellipse parameters.
-
typedef Eigen::Matrix<double, 5, 6>
TransformDerivativeMatrix
¶ Matrix type for derivative with respect to transform parameters.
Public Functions
-
void
inPlace
()¶ Transform the ellipse in-place.
-
DerivativeMatrix
d
() const¶ Return the derivative of transform output ellipse with respect to input ellipse.
-
TransformDerivativeMatrix
dTransform
() const¶ Return the derivative of transform output ellipse with respect to transform parameters.
-
typedef Eigen::Matrix<double, 5, 5>
-
Ellipse::Transformer