24 #ifndef LSST_MEAS_BASE_ShapeUtilities_h_INCLUDED
25 #define LSST_MEAS_BASE_ShapeUtilities_h_INCLUDED
136 : _shape(shape), _shapeErr(shapeErr) {}
158 return _shape == other._shape && _shapeErr == other._shapeErr;
table::Key< std::string > name
An ellipse core with quadrupole moments as parameters.
Base class for all records.
bool isValid() const noexcept
Return True if all the constituent error Keys are valid.
Convenience base class that combines the OutputFunctorKey and InputFunctorKey.
A class used as a handle to a particular field in a table.
A FunctorKey used to get or set a geom::ellipses::Quadrupole from a tuple of constituent Keys.
Key< double > getIyy() const noexcept
Key< double > getIxy() const noexcept
Key< double > getIxx() const noexcept
Return a constituent Key.
bool isValid() const noexcept
Return True if all the constituent Keys are valid.
Defines the fields and offsets for a table.
A proxy type for name lookups in a Schema.
A FunctorKey for ShapeResult.
afw::table::Key< ShapeElement > getIxx() const
Return a Key for the xx moment.
afw::table::CovarianceMatrixKey< ErrElement, 3 > getShapeErr() const
Return a FunctorKey to just the uncertainty matrix.
afw::table::Key< ShapeElement > getIyy() const
Return a Key for the yy moment.
afw::table::QuadrupoleKey getShape() const
Return a FunctorKey to just the shape value.
static ShapeResultKey addFields(afw::table::Schema &schema, std::string const &name, std::string const &doc, UncertaintyEnum uncertainty, afw::table::CoordinateType coordType=afw::table::CoordinateType::PIXEL)
Add the appropriate fields to a Schema, and return a ShapeResultKey that manages them.
ShapeResultKey(afw::table::QuadrupoleKey const &shape, afw::table::CovarianceMatrixKey< ErrElement, 3 > const &shapeErr)
Construct from a pair of Keys.
bool operator==(ShapeResultKey const &other) const
Compare the FunctorKey for equality with another, using the underlying Keys.
virtual ShapeResult get(afw::table::BaseRecord const &record) const
Get a ShapeResult from the given record.
ShapeResultKey()
Default constructor; instance will not be usuable unless subsequently assigned to.
afw::table::Key< ShapeElement > getIxy() const
Return a Key for the xy moment.
bool operator!=(ShapeResultKey const &other) const
bool isValid() const
Return True if the shape key is valid.
virtual void set(afw::table::BaseRecord &record, ShapeResult const &value) const
Set a ShapeResult in the given record.
CoordinateType
Enum used to set units for geometric FunctorKeys.
UncertaintyEnum
An enum used to specify how much uncertainty information measurement algorithms provide.
Eigen::Matrix< ErrElement, 3, 3, Eigen::DontAlign > ShapeCov
Eigen::Matrix< ShapeElement, 3, 3, Eigen::DontAlign > ShapeTrMatrix
ShapeTrMatrix makeShapeTransformMatrix(geom::LinearTransform const &xform)
Construct a matrix suitable for transforming second moments.
A base class for image defects.
A reusable struct for moments-based shape measurements.
ErrElement yy_xy_Cov
yy,xy term in the uncertainty convariance matrix
Shape const getShape() const
Return an afw::geom::ellipses object corresponding to xx, yy, xy.
ShapeCov const getShapeErr() const
Return the 3x3 symmetric covariance matrix, with rows and columns ordered (xx, yy,...
ErrElement xyErr
standard deviation of xy
afw::geom::ellipses::Quadrupole getQuadrupole()
void setShape(Shape const &shape)
Set struct elements from the given Quadrupole object.
ErrElement xx_xy_Cov
xx,xy term in the uncertainty convariance matrix
ShapeResult()
Constructor; initializes everything to NaN.
ShapeElement xy
image or model second moment for xy^2
ShapeResult(ShapeElement xx_, ShapeElement yy_, ShapeElement xy_, ErrElement xxErr_, ErrElement yyErr_, ErrElement xyErr_)
Constructor; initializes everything from values.
ErrElement xxErr
standard deviation of xx
ShapeElement xx
image or model second moment for x^2
void setShapeErr(ShapeCov const &matrix)
Set the struct standard deviation elements from the given matrix, with rows and columns ordered (xx,...
ErrElement xx_yy_Cov
xx,yy term in the uncertainty convariance matrix
ShapeResult(ShapeElement xx_, ShapeElement yy_, ShapeElement xy_, ShapeCov const &matrix)
Constructor; initializes everything from values.
ErrElement yyErr
standard deviation of yy
ShapeElement yy
image or model second moment for y^2