LSST Applications g0b6bd0c080+a72a5dd7e6,g1182afd7b4+2a019aa3bb,g17e5ecfddb+2b8207f7de,g1d67935e3f+06cf436103,g38293774b4+ac198e9f13,g396055baef+6a2097e274,g3b44f30a73+6611e0205b,g480783c3b1+98f8679e14,g48ccf36440+89c08d0516,g4b93dc025c+98f8679e14,g5c4744a4d9+a302e8c7f0,g613e996a0d+e1c447f2e0,g6c8d09e9e7+25247a063c,g7271f0639c+98f8679e14,g7a9cd813b8+124095ede6,g9d27549199+a302e8c7f0,ga1cf026fa3+ac198e9f13,ga32aa97882+7403ac30ac,ga786bb30fb+7a139211af,gaa63f70f4e+9994eb9896,gabf319e997+ade567573c,gba47b54d5d+94dc90c3ea,gbec6a3398f+06cf436103,gc6308e37c7+07dd123edb,gc655b1545f+ade567573c,gcc9029db3c+ab229f5caf,gd01420fc67+06cf436103,gd877ba84e5+06cf436103,gdb4cecd868+6f279b5b48,ge2d134c3d5+cc4dbb2e3f,ge448b5faa6+86d1ceac1d,gecc7e12556+98f8679e14,gf3ee170dca+25247a063c,gf4ac96e456+ade567573c,gf9f5ea5b4d+ac198e9f13,gff490e6085+8c2580be5c,w.2022.27
LSST Data Management Base Package
|
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 } |
using | ParameterVector = Eigen::Vector3d |
Parameter vector type. More... | |
using | Jacobian = Eigen::Matrix3d |
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 |
Return the size of the bounding box for the ellipse core. More... | |
void | writeParameters (double *iter) const override |
Return the size of the bounding box for the ellipse core. More... | |
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... | |
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) |
Return the transform that maps the ellipse to the unit circle. More... | |
Transformer const | transform (lsst::geom::LinearTransform const &transform) const |
Return the transform that maps the ellipse to the unit circle. More... | |
GridTransform const | getGridTransform () const |
Return the transform that maps the ellipse to the unit circle. More... | |
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 |
Return the size of the bounding box for the ellipse core. More... | |
void | _assignToQuadrupole (double &ixx, double &iyy, double &ixy) const override |
Return the size of the bounding box for the ellipse core. More... | |
void | _assignFromQuadrupole (double ixx, double iyy, double ixy) override |
Return the size of the bounding box for the ellipse core. More... | |
void | _assignToAxes (double &a, double &b, double &theta) const override |
Return the size of the bounding box for the ellipse core. More... | |
void | _assignFromAxes (double a, double b, double theta) override |
Return the size of the bounding box for the ellipse core. More... | |
Jacobian | _dAssignToQuadrupole (double &ixx, double &iyy, double &ixy) const override |
Return the size of the bounding box for the ellipse core. More... | |
Jacobian | _dAssignFromQuadrupole (double ixx, double iyy, double ixy) override |
Return the size of the bounding box for the ellipse core. More... | |
Jacobian | _dAssignToAxes (double &a, double &b, double &theta) const override |
Return the size of the bounding box for the ellipse core. More... | |
Jacobian | _dAssignFromAxes (double a, double b, double theta) override |
Return the size of the bounding box for the ellipse core. More... | |
Convolve two bivariate Gaussians defined by their 1-sigma ellipses. | |
Convolution | convolve (BaseCore const &other) |
Return the size of the bounding box for the ellipse core. More... | |
Convolution const | convolve (BaseCore const &other) const |
Return the size of the bounding box for the ellipse core. 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... | |
static void | registerSubclass (std::shared_ptr< BaseCore > const &example) |
Return the size of the bounding box for the ellipse core. More... | |
static void | _assignQuadrupoleToAxes (double ixx, double iyy, double ixy, double &a, double &b, double &theta) |
Return the size of the bounding box for the ellipse core. More... | |
static Jacobian | _dAssignQuadrupoleToAxes (double ixx, double iyy, double ixy, double &a, double &b, double &theta) |
Return the size of the bounding box for the ellipse core. More... | |
static void | _assignAxesToQuadrupole (double a, double b, double theta, double &ixx, double &iyy, double &ixy) |
Return the size of the bounding box for the ellipse core. More... | |
static Jacobian | _dAssignAxesToQuadrupole (double a, double b, double theta, double &ixx, double &iyy, double &ixy) |
Return the size of the bounding box for the ellipse core. More... | |
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 63 of file BaseCore.h.
|
inlineexplicit |
Construct from parameter values.
Definition at line 91 of file Axes.h.
|
inlineexplicit |
|
inline |
|
inline |
|
overridedefault |
|
inline |
|
inline |
|
inline |
|
staticprotectedinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 218 of file BaseCore.cc.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 82 of file Axes.cc.
|
staticprotectedinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 183 of file BaseCore.cc.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 61 of file Axes.cc.
|
inlineoverrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
|
staticprotectedinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 231 of file BaseCore.cc.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 87 of file Axes.cc.
|
staticprotectedinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 193 of file BaseCore.cc.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
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 238 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 129 of file BaseCore.cc.
|
inlineinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 91 of file Convolution.h.
|
inlineinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 95 of file Convolution.h.
|
inherited |
Assign other to this and return the derivative of the conversion, d(this)/d(other).
Definition at line 168 of file BaseCore.cc.
|
inline |
|
inherited |
Return the area of the ellipse core.
Definition at line 111 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 117 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 110 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 143 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 123 of file BaseCore.cc.
|
inherited |
Increase the major and minor radii of the ellipse core by the given buffer.
Definition at line 95 of file BaseCore.cc.
|
staticinherited |
Definition at line 55 of file BaseCore.cc.
|
staticinherited |
Definition at line 73 of file BaseCore.cc.
|
staticinherited |
Definition at line 85 of file BaseCore.cc.
|
staticinherited |
Definition at line 67 of file BaseCore.cc.
|
staticinherited |
Definition at line 61 of file BaseCore.cc.
|
staticinherited |
Definition at line 79 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.
|
inherited |
Compare two ellipse cores for equality.
Ellipse cores are only equal if they have the same type.
Definition at line 151 of file BaseCore.cc.
|
overridevirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 49 of file Axes.cc.
|
staticprotectedinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 91 of file BaseCore.cc.
|
inherited |
|
inline |
|
inline |
|
inherited |
Set the core parameters from a vector.
Definition at line 149 of file BaseCore.cc.
|
inline |
|
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 Transformer.h.
|
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 120 of file Transformer.h.
|
overridevirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 55 of file Axes.cc.