LSSTApplications
16.0-10-g0ee56ad+5,16.0-11-ga33d1f2+5,16.0-12-g3ef5c14+3,16.0-12-g71e5ef5+18,16.0-12-gbdf3636+3,16.0-13-g118c103+3,16.0-13-g8f68b0a+3,16.0-15-gbf5c1cb+4,16.0-16-gfd17674+3,16.0-17-g7c01f5c+3,16.0-18-g0a50484+1,16.0-20-ga20f992+8,16.0-21-g0e05fd4+6,16.0-21-g15e2d33+4,16.0-22-g62d8060+4,16.0-22-g847a80f+4,16.0-25-gf00d9b8+1,16.0-28-g3990c221+4,16.0-3-gf928089+3,16.0-32-g88a4f23+5,16.0-34-gd7987ad+3,16.0-37-gc7333cb+2,16.0-4-g10fc685+2,16.0-4-g18f3627+26,16.0-4-g5f3a788+26,16.0-5-gaf5c3d7+4,16.0-5-gcc1f4bb+1,16.0-6-g3b92700+4,16.0-6-g4412fcd+3,16.0-6-g7235603+4,16.0-69-g2562ce1b+2,16.0-8-g14ebd58+4,16.0-8-g2df868b+1,16.0-8-g4cec79c+6,16.0-8-gadf6c7a+1,16.0-8-gfc7ad86,16.0-82-g59ec2a54a+1,16.0-9-g5400cdc+2,16.0-9-ge6233d7+5,master-g2880f2d8cf+3,v17.0.rc1
LSSTDataManagementBasePackage
|
An ellipse core for the semimajor/semiminor axis and position angle parametrization (a,b,theta). More...
#include <Axes.h>
Public Types | |
enum | ParameterEnum { A = 0, B = 1, THETA = 2 } |
typedef Eigen::Vector3d | ParameterVector |
Parameter vector type. More... | |
typedef Eigen::Matrix3d | Jacobian |
Parameter Jacobian matrix type. More... | |
Public Member Functions | |
double const | getA () const |
void | setA (double a) |
double const | getB () const |
void | setB (double b) |
double const | getTheta () const |
void | setTheta (double theta) |
std::shared_ptr< Axes > | clone () const |
Deep copy the ellipse core. More... | |
std::string | getName () const override |
Return a string that identifies this parametrization. More... | |
void | normalize () override |
Put the parameters into a "standard form", if possible, and throw InvalidParameterError if they cannot be normalized. More... | |
void | readParameters (double const *iter) override |
void | writeParameters (double *iter) const override |
Axes & | operator= (Axes const &other) |
Standard assignment. More... | |
Axes & | operator= (Axes &&other) |
Axes & | operator= (BaseCore const &other) |
Converting assignment. More... | |
Axes (double a=1.0, double b=1.0, double theta=0.0, bool normalize=false) | |
Construct from parameter values. More... | |
Axes (BaseCore::ParameterVector const &vector, bool normalize=false) | |
Construct from a parameter vector. More... | |
Axes (Axes const &other) | |
Copy constructor. More... | |
Axes (Axes &&other) | |
~Axes () override=default | |
Axes (BaseCore const &other) | |
Converting copy constructor. More... | |
Axes (BaseCore::Transformer const &transformer) | |
Converting copy constructor. More... | |
Axes (BaseCore::Convolution const &convolution) | |
Converting copy constructor. More... | |
void | grow (double buffer) |
Increase the major and minor radii of the ellipse core by the given buffer. More... | |
void | scale (double factor) |
Scale the size of the ellipse core by the given factor. More... | |
double | getArea () const |
Return the area of the ellipse core. More... | |
double | getDeterminantRadius () const |
Return the radius defined as the 4th root of the determinant of the quadrupole matrix. More... | |
double | getTraceRadius () const |
Return the radius defined as the square root of one half the trace of the quadrupole matrix. More... | |
GridTransform const | getGridTransform () const |
Return the transform that maps the ellipse to the unit circle. More... | |
lsst::geom::Extent2D | computeDimensions () const |
Return the size of the bounding box for the ellipse core. More... | |
ParameterVector const | getParameterVector () const |
Return the core parameters as a vector. More... | |
void | setParameterVector (ParameterVector const &vector) |
Set the core parameters from a vector. More... | |
bool | operator== (BaseCore const &other) const |
Compare two ellipse cores for equality. More... | |
bool | operator!= (BaseCore const &other) const |
Compare two ellipse cores for inequality. More... | |
Jacobian | dAssign (BaseCore const &other) |
Assign other to this and return the derivative of the conversion, d(this)/d(other). More... | |
template<typename Output > | |
Converter< Output > | as () const |
Convert this to the core type specified as a template parameter. More... | |
Coordinate transforms | |
These member functions transform the ellipse by the given lsst::geom::LinearTransform. 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::LinearTransform const &transform) |
Transformer const | transform (lsst::geom::LinearTransform const &transform) const |
Convolve two bivariate Gaussians defined by their 1-sigma ellipses. | |
Convolution | convolve (BaseCore const &other) |
Convolution const | convolve (BaseCore const &other) const |
Static Public Member Functions | |
static std::shared_ptr< BaseCore > | make (std::string const &name) |
static std::shared_ptr< BaseCore > | make (std::string const &name, ParameterVector const ¶meters) |
static std::shared_ptr< BaseCore > | make (std::string const &name, double v1, double v2, double v3) |
static std::shared_ptr< BaseCore > | make (std::string const &name, BaseCore const &other) |
static std::shared_ptr< BaseCore > | make (std::string const &name, Transformer const &other) |
static std::shared_ptr< BaseCore > | make (std::string const &name, Convolution const &other) |
Protected Member Functions | |
std::shared_ptr< BaseCore > | _clone () const override |
void | _assignToQuadrupole (double &ixx, double &iyy, double &ixy) const override |
void | _assignFromQuadrupole (double ixx, double iyy, double ixy) override |
void | _assignToAxes (double &a, double &b, double &theta) const override |
void | _assignFromAxes (double a, double b, double theta) override |
Jacobian | _dAssignToQuadrupole (double &ixx, double &iyy, double &ixy) const override |
Jacobian | _dAssignFromQuadrupole (double ixx, double iyy, double ixy) override |
Jacobian | _dAssignToAxes (double &a, double &b, double &theta) const override |
Jacobian | _dAssignFromAxes (double a, double b, double theta) override |
Static Protected Member Functions | |
static void | registerSubclass (std::shared_ptr< BaseCore > const &example) |
static void | _assignQuadrupoleToAxes (double ixx, double iyy, double ixy, double &a, double &b, double &theta) |
static Jacobian | _dAssignQuadrupoleToAxes (double ixx, double iyy, double ixy, double &a, double &b, double &theta) |
static void | _assignAxesToQuadrupole (double a, double b, double theta, double &ixx, double &iyy, double &ixy) |
static Jacobian | _dAssignAxesToQuadrupole (double a, double b, double theta, double &ixx, double &iyy, double &ixy) |
An ellipse core for the semimajor/semiminor axis and position angle parametrization (a,b,theta).
|
inherited |
Parameter Jacobian matrix type.
Definition at line 64 of file BaseCore.h.
|
inherited |
Parameter vector type.
Definition at line 61 of file BaseCore.h.
|
inlineexplicit |
Construct from parameter values.
Definition at line 91 of file Axes.h.
|
inlineexplicit |
Construct from a parameter vector.
Definition at line 97 of file Axes.h.
|
inline |
|
inline |
|
overridedefault |
|
inline |
|
inline |
|
inline |
|
staticprotectedinherited |
Definition at line 219 of file BaseCore.cc.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 82 of file Axes.cc.
|
staticprotectedinherited |
Definition at line 184 of file BaseCore.cc.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 61 of file Axes.cc.
|
inlineoverrideprotectedvirtual |
Implements lsst::afw::geom::ellipses::BaseCore.
|
staticprotectedinherited |
Definition at line 232 of file BaseCore.cc.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 87 of file Axes.cc.
|
staticprotectedinherited |
Definition at line 194 of file BaseCore.cc.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 65 of file Axes.cc.
|
inlineinherited |
Convert this to the core type specified as a template parameter.
Definition at line 240 of file BaseCore.h.
|
inline |
Deep copy the ellipse core.
Definition at line 61 of file Axes.h.
|
inherited |
Return the size of the bounding box for the ellipse core.
Definition at line 130 of file BaseCore.cc.
|
inlineinherited |
Definition at line 93 of file Convolution.h.
|
inlineinherited |
Definition at line 97 of file Convolution.h.
|
inherited |
Assign other to this and return the derivative of the conversion, d(this)/d(other).
Definition at line 169 of file BaseCore.cc.
|
inline |
|
inherited |
Return the area of the ellipse core.
Definition at line 112 of file BaseCore.cc.
|
inline |
|
inherited |
Return the radius defined as the 4th root of the determinant of the quadrupole matrix.
The determinant radius is equal to the standard radius for a circle, and its square times pi is the area of the ellipse.
Definition at line 118 of file BaseCore.cc.
|
inlineinherited |
Return the transform that maps the ellipse to the unit circle.
The returned proxy object is implicitly convertible to lsst::geom::LinearTransform and also supports differentiation.
Definition at line 116 of file GridTransform.h.
|
overridevirtual |
Return a string that identifies this parametrization.
Implements lsst::afw::geom::ellipses::BaseCore.
|
inherited |
Return the core parameters as a vector.
Definition at line 144 of file BaseCore.cc.
|
inline |
|
inherited |
Return the radius defined as the square root of one half the trace of the quadrupole matrix.
The trace radius is equal to the standard radius for a circle.
Definition at line 124 of file BaseCore.cc.
|
inherited |
Increase the major and minor radii of the ellipse core by the given buffer.
Definition at line 96 of file BaseCore.cc.
|
staticinherited |
Definition at line 56 of file BaseCore.cc.
|
staticinherited |
Definition at line 62 of file BaseCore.cc.
|
staticinherited |
Definition at line 68 of file BaseCore.cc.
|
staticinherited |
Definition at line 74 of file BaseCore.cc.
|
staticinherited |
Definition at line 80 of file BaseCore.cc.
|
staticinherited |
Definition at line 86 of file BaseCore.cc.
|
overridevirtual |
Put the parameters into a "standard form", if possible, and throw InvalidParameterError if they cannot be normalized.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 36 of file Axes.cc.
|
inlineinherited |
Compare two ellipse cores for inequality.
Ellipses are only equal if they have the same type.
Definition at line 167 of file BaseCore.h.
Converting assignment.
Definition at line 85 of file Axes.h.
|
inherited |
Compare two ellipse cores for equality.
Ellipse cores are only equal if they have the same type.
Definition at line 152 of file BaseCore.cc.
|
overridevirtual |
|
staticprotectedinherited |
Definition at line 92 of file BaseCore.cc.
|
inherited |
Scale the size of the ellipse core by the given factor.
Definition at line 104 of file BaseCore.cc.
|
inline |
|
inline |
|
inherited |
Set the core parameters from a vector.
Definition at line 150 of file BaseCore.cc.
|
inline |
|
inlineinherited |
Definition at line 116 of file Transformer.h.
|
inlineinherited |
Definition at line 120 of file Transformer.h.
|
overridevirtual |