LSSTApplications  19.0.0-14-gb0260a2+72efe9b372,20.0.0+7927753e06,20.0.0+8829bf0056,20.0.0+995114c5d2,20.0.0+b6f4b2abd1,20.0.0+bddc4f4cbe,20.0.0-1-g253301a+8829bf0056,20.0.0-1-g2b7511a+0d71a2d77f,20.0.0-1-g5b95a8c+7461dd0434,20.0.0-12-g321c96ea+23efe4bbff,20.0.0-16-gfab17e72e+fdf35455f6,20.0.0-2-g0070d88+ba3ffc8f0b,20.0.0-2-g4dae9ad+ee58a624b3,20.0.0-2-g61b8584+5d3db074ba,20.0.0-2-gb780d76+d529cf1a41,20.0.0-2-ged6426c+226a441f5f,20.0.0-2-gf072044+8829bf0056,20.0.0-2-gf1f7952+ee58a624b3,20.0.0-20-geae50cf+e37fec0aee,20.0.0-25-g3dcad98+544a109665,20.0.0-25-g5eafb0f+ee58a624b3,20.0.0-27-g64178ef+f1f297b00a,20.0.0-3-g4cc78c6+e0676b0dc8,20.0.0-3-g8f21e14+4fd2c12c9a,20.0.0-3-gbd60e8c+187b78b4b8,20.0.0-3-gbecbe05+48431fa087,20.0.0-38-ge4adf513+a12e1f8e37,20.0.0-4-g97dc21a+544a109665,20.0.0-4-gb4befbc+087873070b,20.0.0-4-gf910f65+5d3db074ba,20.0.0-5-gdfe0fee+199202a608,20.0.0-5-gfbfe500+d529cf1a41,20.0.0-6-g64f541c+d529cf1a41,20.0.0-6-g9a5b7a1+a1cd37312e,20.0.0-68-ga3f3dda+5fca18c6a4,20.0.0-9-g4aef684+e18322736b,w.2020.45
LSSTDataManagementBasePackage
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 ( )

◆ 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)) {}

◆ 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); }

◆ 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 }

◆ 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:
lsst::meas::base::ShapeResult::xy
ShapeElement xy
image or model second moment for xy^2
Definition: ShapeUtilities.h:46
lsst::meas::base::ShapeCov
Eigen::Matrix< ErrElement, 3, 3, Eigen::DontAlign > ShapeCov
Definition: constants.h:61
lsst::meas::base::ShapeResult::xxErr
ErrElement xxErr
standard deviation of xx
Definition: ShapeUtilities.h:47
lsst::meas::base::ShapeResult::xyErr
ErrElement xyErr
standard deviation of xy
Definition: ShapeUtilities.h:49
lsst::meas::base::ShapeResult::yy_xy_Cov
ErrElement yy_xy_Cov
yy,xy term in the uncertainty convariance matrix
Definition: ShapeUtilities.h:52
lsst::meas::base::ShapeResult::yyErr
ErrElement yyErr
standard deviation of yy
Definition: ShapeUtilities.h:48
std::sqrt
T sqrt(T... args)
lsst::meas::base::ShapeResult::yy
ShapeElement yy
image or model second moment for y^2
Definition: ShapeUtilities.h:45
lsst::meas::base::ShapeResult::xx_xy_Cov
ErrElement xx_xy_Cov
xx,xy term in the uncertainty convariance matrix
Definition: ShapeUtilities.h:51
lsst::meas::base::ShapeResult::xx_yy_Cov
ErrElement xx_yy_Cov
xx,yy term in the uncertainty convariance matrix
Definition: ShapeUtilities.h:50
lsst::meas::base::ShapeResult::xx
ShapeElement xx
image or model second moment for x^2
Definition: ShapeUtilities.h:44
std::numeric_limits
lsst::meas::base::Shape
afw::geom::ellipses::Quadrupole Shape
Definition: constants.h:60
m
int m
Definition: SpanSet.cc:49