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