26 namespace lsst {
namespace meas {
namespace base {
93 schema.
join(name,
"xxSigma"),
"1-sigma uncertainty on xx moment",
97 schema.
join(name,
"yySigma"),
"1-sigma uncertainty on yy moment",
101 schema.
join(name,
"xySigma"),
"1-sigma uncertainty on xy moment",
107 schema.
join(name,
"xx_yy_Cov"),
"uncertainty covariance in xx and yy",
113 schema.
join(name,
"xx_xy_Cov"),
"uncertainty covariance in xx and xy",
119 schema.
join(name,
"yy_xy_Cov"),
"uncertainty covariance in yy and xy",
168 Eigen::Matrix<ShapeElement,3,3,Eigen::DontAlign>
m;
169 m << xform[LT::XX]*xform[LT::XX], xform[LT::XY]*xform[LT::XY], 2*xform[LT::XX]*xform[LT::XY],
170 xform[LT::YX]*xform[LT::YX], xform[LT::YY]*xform[LT::YY], 2*xform[LT::YX]*xform[LT::YY],
171 xform[LT::XX]*xform[LT::YX], xform[LT::XY]*xform[LT::YY],
172 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.
ShapeTrMatrix makeShapeTransformMatrix(afw::geom::LinearTransform const &xform)
Construct a matrix suitable for transforming second moments.
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.
Eigen::Matrix< ErrElement, 3, 3, Eigen::DontAlign > ShapeCov
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.
Key< T > addField(Field< T > const &field, bool doReplace=false)
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.
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.
Eigen::Matrix< ShapeElement, 3, 3, Eigen::DontAlign > ShapeTrMatrix
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.