83 schema.
join(name,
"xxSigma"),
"1-sigma uncertainty on xx moment",
86 schema.
join(name,
"yySigma"),
"1-sigma uncertainty on yy moment",
89 schema.
join(name,
"xySigma"),
"1-sigma uncertainty on xy moment",
93 schema.
join(name,
"xx_yy_Cov"),
"uncertainty covariance in xx and yy",
96 schema.
join(name,
"xx_xy_Cov"),
"uncertainty covariance in xx and xy",
99 schema.
join(name,
"yy_xy_Cov"),
"uncertainty covariance in yy and xy",
145 Eigen::Matrix<ShapeElement, 3, 3, Eigen::DontAlign>
m;
146 m << xform[LT::XX] * xform[LT::XX], xform[LT::XY] * xform[LT::XY], 2 * xform[LT::XX] * xform[LT::XY],
147 xform[LT::YX] * xform[LT::YX], xform[LT::YY] * xform[LT::YY], 2 * xform[LT::YX] * xform[LT::YY],
148 xform[LT::XX] * xform[LT::YX], xform[LT::XY] * xform[LT::YY],
149 xform[LT::XX] * xform[LT::YY] + xform[LT::XY] * xform[LT::YX];
virtual void set(afw::table::BaseRecord &record, ShapeResult const &value) const
Set a ShapeResult in the given record.
Eigen::Matrix< ErrElement, 3, 3, Eigen::DontAlign > ShapeCov
ErrElement yy_xy_Cov
yy,xy term in the uncertainty convariance matrix
virtual ShapeResult get(afw::table::BaseRecord const &record) const
Get a ShapeResult from the given record.
UncertaintyEnum
An enum used to specify how much uncertainty information measurement algorithms provide.
std::string join(std::string const &a, std::string const &b) const
Shape const getShape() const
Return an afw::geom::ellipses object corresponding to xx, yy, xy.
ShapeResultKey()
Default constructor; instance will not be usuable unless subsequently assigned to.
The full covariance matrix is provided.
ShapeTrMatrix makeShapeTransformMatrix(geom::LinearTransform const &xform)
Construct a matrix suitable for transforming second moments.
ErrElement xySigma
1-Sigma uncertainty on xy (sqrt of variance)
Field< T >::Value get(Key< T > const &key) const
afw::table::Key< double > sigma
A FunctorKey for ShapeResult.
ErrElement xx_xy_Cov
xx,xy term in the uncertainty convariance matrix
void setShapeErr(ShapeCov const &matrix)
Set the struct uncertainty elements from the given matrix, with rows and columns ordered (xx...
ErrElement xx_yy_Cov
xx,yy term in the uncertainty convariance matrix
afw::geom::ellipses::Quadrupole Shape
A reusable struct for moments-based shape measurements.
double const getIxy() const
double const getIyy() const
static QuadrupoleKey addFields(Schema &schema, std::string const &name, std::string const &doc, CoordinateType coordType=CoordinateType::PIXEL)
ShapeResult()
Constructor; initializes everything to NaN.
Eigen::Matrix< ShapeElement, 3, 3, Eigen::DontAlign > ShapeTrMatrix
Algorithm provides no uncertainy information at all.
ErrElement yySigma
1-Sigma uncertainty on yy (sqrt of variance)
void set(Key< T > const &key, U const &value)
ErrElement xxSigma
1-Sigma uncertainty on xx (sqrt of variance)
void setShape(Shape const &shape)
Set struct elements from the given Quadrupole object.
bool isValid() const noexcept
Key< T > addField(Field< T > const &field, bool doReplace=false)
double const getIxx() const
ShapeCov const getShapeErr() const
Return the 3x3 symmetric covariance matrix, with rows and columns ordered (xx, yy, xy)
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.