|
LSST Applications g00d0e8bbd7+edbf708997,g03191d30f7+9ce8016dbd,g1955dfad08+0bd186d245,g199a45376c+5137f08352,g1fd858c14a+a888a50aa2,g262e1987ae+45f9aba685,g29ae962dfc+1c7d47a24f,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3fd5ace14f+eed17d2c67,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+c4107e45b5,g67b6fd64d1+6dc8069a4c,g74acd417e5+f452e9c21a,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+2025e9ce17,g7cc15d900a+2d158402f9,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d4809ba88+c4107e45b5,g8d7436a09f+e96c132b44,g8ea07a8fe4+db21c37724,g98df359435+aae6d409c1,ga2180abaac+edbf708997,gac66b60396+966efe6077,gb632fb1845+88945a90f8,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gca7fc764a6+6dc8069a4c,gd7ef33dd92+6dc8069a4c,gda68eeecaf+7d1e613a8d,gdab6d2f7ff+f452e9c21a,gdbb4c4dda9+c4107e45b5,ge410e46f29+6dc8069a4c,ge41e95a9f2+c4107e45b5,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
|
An ellipse core with quadrupole moments as parameters. More...
#include <Quadrupole.h>
Public Types | |
| enum | ParameterEnum { IXX = 0 , IYY = 1 , IXY = 2 } |
| using | Matrix = Eigen::Matrix<double, 2, 2, Eigen::DontAlign> |
| Matrix type for the matrix representation of Quadrupole parameters. | |
| using | ParameterVector = Eigen::Vector3d |
| Parameter vector type. | |
| using | Jacobian = Eigen::Matrix3d |
| Parameter Jacobian matrix type. | |
Public Member Functions | |
| double const | getIxx () const |
| void | setIxx (double ixx) |
| double const | getIyy () const |
| void | setIyy (double iyy) |
| double const | getIxy () const |
| void | setIxy (double ixy) |
| std::shared_ptr< Quadrupole > | clone () const |
| Deep copy the ellipse core. | |
| std::string | getName () const override |
| Return a string that identifies this parametrization. | |
| void | normalize () override |
| Put the parameters into a "standard form", and throw InvalidParameterError if they cannot be normalized. | |
| void | readParameters (double const *iter) override |
| Return the size of the bounding box for the ellipse core. | |
| void | writeParameters (double *iter) const override |
| Return the size of the bounding box for the ellipse core. | |
| Matrix const & | getMatrix () const |
| Return a 2x2 symmetric matrix of the parameters. | |
| double | getDeterminant () const |
| Return the determinant of the matrix representation. | |
| Quadrupole & | operator= (Quadrupole const &other) |
| Standard assignment. | |
| Quadrupole & | operator= (Quadrupole &&other) |
| Quadrupole & | operator= (BaseCore const &other) |
| Converting assignment. | |
| Quadrupole (double ixx=1.0, double iyy=1.0, double ixy=0.0, bool normalize=false) | |
| Construct from parameter values. | |
| Quadrupole (BaseCore::ParameterVector const &vector, bool normalize=false) | |
| Construct from a parameter vector. | |
| Quadrupole (Matrix const &matrix, bool normalize=true) | |
| Construct from a 2x2 matrix. | |
| Quadrupole (Quadrupole const &other) | |
| Copy constructor. | |
| Quadrupole (Quadrupole &&other) | |
| ~Quadrupole () override=default | |
| Quadrupole (BaseCore const &other) | |
| Converting copy constructor. | |
| Quadrupole (BaseCore::Transformer const &transformer) | |
| Converting copy constructor. | |
| Quadrupole (BaseCore::Convolution const &convolution) | |
| Converting copy constructor. | |
| void | grow (double buffer) |
| Increase the major and minor radii of the ellipse core by the given buffer. | |
| void | scale (double factor) |
| Scale the size of the ellipse core by the given factor. | |
| double | getArea () const |
| Return the area of the ellipse core. | |
| double | getDeterminantRadius () const |
| Return the radius defined as the 4th root of the determinant of the quadrupole matrix. | |
| double | getTraceRadius () const |
| Return the radius defined as the square root of one half the trace of the quadrupole matrix. | |
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. | |
| Transformer const | transform (lsst::geom::LinearTransform const &transform) const |
| Return the transform that maps the ellipse to the unit circle. | |
| GridTransform const | getGridTransform () const |
| Return the transform that maps the ellipse to the unit circle. | |
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. | |
| void | _assignToQuadrupole (double &ixx, double &iyy, double &ixy) const override |
| Return the size of the bounding box for the ellipse core. | |
| void | _assignFromQuadrupole (double ixx, double iyy, double ixy) override |
| Return the size of the bounding box for the ellipse core. | |
| void | _assignToAxes (double &a, double &b, double &theta) const override |
| Return the size of the bounding box for the ellipse core. | |
| void | _assignFromAxes (double a, double b, double theta) override |
| Return the size of the bounding box for the ellipse core. | |
| Jacobian | _dAssignToQuadrupole (double &ixx, double &iyy, double &ixy) const override |
| Return the size of the bounding box for the ellipse core. | |
| Jacobian | _dAssignFromQuadrupole (double ixx, double iyy, double ixy) override |
| Return the size of the bounding box for the ellipse core. | |
| Jacobian | _dAssignToAxes (double &a, double &b, double &theta) const override |
| Return the size of the bounding box for the ellipse core. | |
| Jacobian | _dAssignFromAxes (double a, double b, double theta) override |
| Return the size of the bounding box for the ellipse core. | |
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. | |
| Convolution const | convolve (BaseCore const &other) const |
| Return the size of the bounding box for the ellipse core. | |
| lsst::geom::Extent2D | computeDimensions () const |
| Return the size of the bounding box for the ellipse core. | |
| ParameterVector const | getParameterVector () const |
| Return the core parameters as a vector. | |
| void | setParameterVector (ParameterVector const &vector) |
| Set the core parameters from a vector. | |
| bool | operator== (BaseCore const &other) const |
| Compare two ellipse cores for equality. | |
| bool | operator!= (BaseCore const &other) const |
| Compare two ellipse cores for inequality. | |
| Jacobian | dAssign (BaseCore const &other) |
| Assign other to this and return the derivative of the conversion, d(this)/d(other). | |
| template<typename Output> | |
| Converter< Output > | as () const |
| Convert this to the core type specified as a template parameter. | |
| static void | registerSubclass (std::shared_ptr< BaseCore > const &example) |
| Return the size of the bounding box for the ellipse core. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
An ellipse core with quadrupole moments as parameters.
Definition at line 47 of file Quadrupole.h.
|
inherited |
Parameter Jacobian matrix type.
Definition at line 64 of file BaseCore.h.
| using lsst::afw::geom::ellipses::Quadrupole::Matrix = Eigen::Matrix<double, 2, 2, Eigen::DontAlign> |
Matrix type for the matrix representation of Quadrupole parameters.
Definition at line 52 of file Quadrupole.h.
|
inherited |
Parameter vector type.
Definition at line 63 of file BaseCore.h.
|
explicit |
Construct from parameter values.
Definition at line 59 of file Quadrupole.cc.
|
explicit |
|
explicit |
Construct from a 2x2 matrix.
Definition at line 73 of file Quadrupole.cc.
|
inline |
|
inline |
Definition at line 113 of file Quadrupole.h.
|
overridedefault |
|
inline |
|
inline |
Converting copy constructor.
Definition at line 121 of file Quadrupole.h.
|
inline |
Converting copy constructor.
Definition at line 124 of file Quadrupole.h.
|
staticprotectedinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 218 of file BaseCore.cc.
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 111 of file Quadrupole.cc.
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 98 of file Quadrupole.cc.
|
staticprotectedinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 183 of file BaseCore.cc.
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 90 of file Quadrupole.cc.
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 77 of file Quadrupole.cc.
|
inlineoverrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 127 of file Quadrupole.h.
|
staticprotectedinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 231 of file BaseCore.cc.
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 116 of file Quadrupole.cc.
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 104 of file Quadrupole.cc.
|
staticprotectedinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 193 of file BaseCore.cc.
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 94 of file Quadrupole.cc.
|
overrideprotectedvirtual |
Return the size of the bounding box for the ellipse core.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 83 of file Quadrupole.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 64 of file Quadrupole.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.
|
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.
|
inline |
Definition at line 54 of file Quadrupole.h.
|
inline |
Definition at line 60 of file Quadrupole.h.
|
inline |
Definition at line 57 of file Quadrupole.h.
|
inline |
Return a 2x2 symmetric matrix of the parameters.
Definition at line 80 of file Quadrupole.h.
|
overridevirtual |
Return a string that identifies this parametrization.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 33 of file Quadrupole.cc.
|
inherited |
Return the core parameters as a vector.
Definition at line 143 of file BaseCore.cc.
|
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", and throw InvalidParameterError if they cannot be normalized.
Implements lsst::afw::geom::ellipses::BaseCore.
Definition at line 35 of file Quadrupole.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.
|
inline |
Converting assignment.
Definition at line 95 of file Quadrupole.h.
|
inline |
Definition at line 92 of file Quadrupole.h.
|
inline |
Standard assignment.
Definition at line 86 of file Quadrupole.h.
|
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 47 of file Quadrupole.cc.
|
staticprotectedinherited |
Return the size of the bounding box for the ellipse core.
Definition at line 91 of file BaseCore.cc.
|
inherited |
Scale the size of the ellipse core by the given factor.
Definition at line 103 of file BaseCore.cc.
|
inline |
Definition at line 55 of file Quadrupole.h.
|
inline |
Definition at line 61 of file Quadrupole.h.
|
inline |
Definition at line 58 of file Quadrupole.h.
|
inherited |
Set the core parameters from a vector.
Definition at line 149 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 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 53 of file Quadrupole.cc.