LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Public Attributes | List of all members
lsst::meas::base::ShapeResult Struct Reference

A reusable struct for moments-based shape measurements. More...

#include <ShapeUtilities.h>

Inheritance diagram for lsst::meas::base::ShapeResult:
lsst::meas::base::SdssShapeResult

Public Member Functions

 ShapeResult ()
 Constructor; initializes everything to NaN. More...
 
 ShapeResult (ShapeElement xx_, ShapeElement yy_, ShapeElement xy_, ShapeCov const &matrix)
 Constructor; initializes everything from values. More...
 
 ShapeResult (ShapeElement xx_, ShapeElement yy_, ShapeElement xy_, ErrElement xxErr_, ErrElement yyErr_, ErrElement xyErr_)
 Constructor; initializes everything from values. More...
 
Shape const getShape () const
 Return an afw::geom::ellipses object corresponding to xx, yy, xy. More...
 
afw::geom::ellipses::Quadrupole getQuadrupole ()
 
void setShape (Shape const &shape)
 Set struct elements from the given Quadrupole object. More...
 
ShapeCov const getShapeErr () const
 Return the 3x3 symmetric covariance matrix, with rows and columns ordered (xx, yy, xy) More...
 
void setShapeErr (ShapeCov const &matrix)
 Set the struct standard deviation elements from the given matrix, with rows and columns ordered (xx, yy, xy) More...
 
void setShapeErr (ErrElement xxErr, ErrElement yyErr, ErrElement xyErr)
 Set the struct standard deviation elements from the given values. More...
 

Public Attributes

ShapeElement xx
 image or model second moment for x^2 More...
 
ShapeElement yy
 image or model second moment for y^2 More...
 
ShapeElement xy
 image or model second moment for xy^2 More...
 
ErrElement xxErr
 standard deviation of xx More...
 
ErrElement yyErr
 standard deviation of yy More...
 
ErrElement xyErr
 standard deviation of xy More...
 
ErrElement xx_yy_Cov
 xx,yy term in the uncertainty convariance matrix More...
 
ErrElement xx_xy_Cov
 xx,xy term in the uncertainty convariance matrix More...
 
ErrElement yy_xy_Cov
 yy,xy term in the uncertainty convariance matrix More...
 

Detailed Description

A reusable struct for moments-based shape measurements.

Shape measurements and their errors should always be in pixels coordinates. This struct should generally be preferred over a custom struct with other ellipse parametrizations unless the measurement takes place in another parametrization and a transformation to this one would result in a loss of information or obfuscate the results of the measurement (i.e. use this one unless you have a good reason not to).

Definition at line 43 of file ShapeUtilities.h.

Constructor & Destructor Documentation

◆ ShapeResult() [1/3]

lsst::meas::base::ShapeResult::ShapeResult ( )

Constructor; initializes everything to NaN.

Definition at line 30 of file ShapeUtilities.cc.

ErrElement yy_xy_Cov
yy,xy term in the uncertainty convariance matrix
ErrElement xyErr
standard deviation of xy
ErrElement xx_xy_Cov
xx,xy term in the uncertainty convariance matrix
ShapeElement xy
image or model second moment for xy^2
ErrElement xxErr
standard deviation of xx
ShapeElement xx
image or model second moment for x^2
ErrElement xx_yy_Cov
xx,yy term in the uncertainty convariance matrix
ErrElement yyErr
standard deviation of yy
ShapeElement yy
image or model second moment for y^2

◆ ShapeResult() [2/3]

lsst::meas::base::ShapeResult::ShapeResult ( ShapeElement  xx_,
ShapeElement  yy_,
ShapeElement  xy_,
ShapeCov const &  matrix 
)
inlineexplicit

Constructor; initializes everything from values.

Definition at line 58 of file ShapeUtilities.h.

59  : xx(xx_),
60  yy(yy_),
61  xy(xy_),
62  xxErr(std::sqrt(matrix(0, 0))),
63  yyErr(std::sqrt(matrix(1, 1))),
64  xyErr(std::sqrt(matrix(2, 2))),
65  xx_yy_Cov(matrix(0, 1)),
66  xx_xy_Cov(matrix(0, 2)),
67  yy_xy_Cov(matrix(1, 2)) {}
T sqrt(T... args)

◆ ShapeResult() [3/3]

lsst::meas::base::ShapeResult::ShapeResult ( ShapeElement  xx_,
ShapeElement  yy_,
ShapeElement  xy_,
ErrElement  xxErr_,
ErrElement  yyErr_,
ErrElement  xyErr_ 
)
inlineexplicit

Constructor; initializes everything from values.

Definition at line 70 of file ShapeUtilities.h.

72  : xx(xx_),
73  yy(yy_),
74  xy(xy_),
75  xxErr(xxErr_),
76  yyErr(yyErr_),
77  xyErr(xyErr_),
78  xx_yy_Cov(0.0),
79  xx_xy_Cov(0.0),
80  yy_xy_Cov(0.0) {}

Member Function Documentation

◆ getQuadrupole()

afw::geom::ellipses::Quadrupole lsst::meas::base::ShapeResult::getQuadrupole ( )
inline

Definition at line 91 of file ShapeUtilities.h.

91 { return afw::geom::ellipses::Quadrupole(xx, yy, xy); }

◆ getShape()

Shape const lsst::meas::base::ShapeResult::getShape ( ) const

Return an afw::geom::ellipses object corresponding to xx, yy, xy.

This method can be used to return an average radius for the measured shape, e.g. getShape().getDeterminantRadius()

Definition at line 41 of file ShapeUtilities.cc.

41 { return Shape(xx, yy, xy); }
afw::geom::ellipses::Quadrupole Shape
Definition: constants.h:60

◆ getShapeErr()

ShapeCov const lsst::meas::base::ShapeResult::getShapeErr ( ) const

Return the 3x3 symmetric covariance matrix, with rows and columns ordered (xx, yy, xy)

Definition at line 49 of file ShapeUtilities.cc.

49  {
50  ShapeCov m;
53  return m;
54 }
int m
Definition: SpanSet.cc:48
Eigen::Matrix< ErrElement, 3, 3, Eigen::DontAlign > ShapeCov
Definition: constants.h:61

◆ setShape()

void lsst::meas::base::ShapeResult::setShape ( Shape const &  shape)

Set struct elements from the given Quadrupole object.

Definition at line 43 of file ShapeUtilities.cc.

43  {
44  xx = shape.getIxx();
45  yy = shape.getIyy();
46  xy = shape.getIxy();
47 }

◆ setShapeErr() [1/2]

void lsst::meas::base::ShapeResult::setShapeErr ( ErrElement  xxErr,
ErrElement  yyErr,
ErrElement  xyErr 
)

Set the struct standard deviation elements from the given values.

Definition at line 65 of file ShapeUtilities.cc.

65  {
66  xxErr = _xxErr;
67  yyErr = _yyErr;
68  xyErr = _xyErr;
69  xx_yy_Cov = 0.0;
70  xx_xy_Cov = 0.0;
71  yy_xy_Cov = 0.0;
72 }

◆ setShapeErr() [2/2]

void lsst::meas::base::ShapeResult::setShapeErr ( ShapeCov const &  matrix)

Set the struct standard deviation elements from the given matrix, with rows and columns ordered (xx, yy, xy)

Definition at line 56 of file ShapeUtilities.cc.

56  {
57  xxErr = std::sqrt(matrix(0, 0));
58  yyErr = std::sqrt(matrix(1, 1));
59  xyErr = std::sqrt(matrix(2, 2));
60  xx_yy_Cov = matrix(0, 1);
61  xx_xy_Cov = matrix(0, 2);
62  yy_xy_Cov = matrix(1, 2);
63 }

Member Data Documentation

◆ xx

ShapeElement lsst::meas::base::ShapeResult::xx

image or model second moment for x^2

Definition at line 44 of file ShapeUtilities.h.

◆ xx_xy_Cov

ErrElement lsst::meas::base::ShapeResult::xx_xy_Cov

xx,xy term in the uncertainty convariance matrix

Definition at line 51 of file ShapeUtilities.h.

◆ xx_yy_Cov

ErrElement lsst::meas::base::ShapeResult::xx_yy_Cov

xx,yy term in the uncertainty convariance matrix

Definition at line 50 of file ShapeUtilities.h.

◆ xxErr

ErrElement lsst::meas::base::ShapeResult::xxErr

standard deviation of xx

Definition at line 47 of file ShapeUtilities.h.

◆ xy

ShapeElement lsst::meas::base::ShapeResult::xy

image or model second moment for xy^2

Definition at line 46 of file ShapeUtilities.h.

◆ xyErr

ErrElement lsst::meas::base::ShapeResult::xyErr

standard deviation of xy

Definition at line 49 of file ShapeUtilities.h.

◆ yy

ShapeElement lsst::meas::base::ShapeResult::yy

image or model second moment for y^2

Definition at line 45 of file ShapeUtilities.h.

◆ yy_xy_Cov

ErrElement lsst::meas::base::ShapeResult::yy_xy_Cov

yy,xy term in the uncertainty convariance matrix

Definition at line 52 of file ShapeUtilities.h.

◆ yyErr

ErrElement lsst::meas::base::ShapeResult::yyErr

standard deviation of yy

Definition at line 48 of file ShapeUtilities.h.


The documentation for this struct was generated from the following files: