LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
lsst::meas::base::CentroidResultKey Class Reference

A FunctorKey for CentroidResult. More...

#include <CentroidUtilities.h>

Inheritance diagram for lsst::meas::base::CentroidResultKey:
lsst::afw::table::FunctorKey< CentroidResult > lsst::afw::table::OutputFunctorKey< CentroidResult > lsst::afw::table::InputFunctorKey< CentroidResult >

Public Member Functions

 CentroidResultKey ()
 Default constructor; instance will not be usuable unless subsequently assigned to. More...
 
 CentroidResultKey (afw::table::PointKey< CentroidElement > const &centroid, afw::table::CovarianceMatrixKey< ErrElement, 2 > const &centroidErr)
 Construct from a pair of Keys. More...
 
 CentroidResultKey (afw::table::SubSchema const &s)
 Construct from a subschema, assuming _x, _y, etc. subfields. More...
 
virtual CentroidResult get (afw::table::BaseRecord const &record) const
 Get a CentroidResult from the given record. More...
 
virtual void set (afw::table::BaseRecord &record, CentroidResult const &value) const
 Set a CentroidResult in the given record. More...
 
bool isValid () const
 Return True if the centroid key is valid. More...
 
afw::table::PointKey
< CentroidElement
getCentroid () const
 Return a FunctorKey to just the centroid value. More...
 
afw::table::CovarianceMatrixKey
< ErrElement, 2 > 
getCentroidErr () const
 Return a FunctorKey to just the uncertainty matrix. More...
 
afw::table::Key< CentroidElementgetX () const
 Return a Key for the x coordinate. More...
 
afw::table::Key< CentroidElementgetY () const
 Return a Key for the y coordinate. More...
 
bool operator== (CentroidResultKey const &other) const
 Compare the FunctorKey for equality with another, using the underlying Keys. More...
 
bool operator!= (CentroidResultKey const &other) const
 Compare the FunctorKey for equality with another, using the underlying Keys. More...
 
- Public Member Functions inherited from lsst::afw::table::OutputFunctorKey< CentroidResult >
virtual ~OutputFunctorKey ()
 
- Public Member Functions inherited from lsst::afw::table::InputFunctorKey< CentroidResult >
virtual void set (BaseRecord &record, CentroidResultconst &value) const =0
 
virtual ~InputFunctorKey ()
 

Static Public Member Functions

static CentroidResultKey addFields (afw::table::Schema &schema, std::string const &name, std::string const &doc, UncertaintyEnum uncertainty)
 Add the appropriate fields to a Schema, and return a CentroidResultKey that manages them. More...
 

Private Attributes

afw::table::PointKey
< CentroidElement
_centroid
 
afw::table::CovarianceMatrixKey
< ErrElement, 2 > 
_centroidErr
 

Detailed Description

A FunctorKey for CentroidResult.

This class makes it easy to copy centroids and their uncertainties to and from records, and provides a method to add the appropriate fields to a Schema.

Definition at line 94 of file CentroidUtilities.h.

Constructor & Destructor Documentation

lsst::meas::base::CentroidResultKey::CentroidResultKey ( )
inline

Default constructor; instance will not be usuable unless subsequently assigned to.

Definition at line 116 of file CentroidUtilities.h.

116 : _centroid(), _centroidErr() {}
afw::table::PointKey< CentroidElement > _centroid
afw::table::CovarianceMatrixKey< ErrElement, 2 > _centroidErr
lsst::meas::base::CentroidResultKey::CentroidResultKey ( afw::table::PointKey< CentroidElement > const &  centroid,
afw::table::CovarianceMatrixKey< ErrElement, 2 > const &  centroidErr 
)
inline

Construct from a pair of Keys.

Definition at line 119 of file CentroidUtilities.h.

122  :
123  _centroid(centroid), _centroidErr(centroidErr)
124  {}
afw::table::PointKey< CentroidElement > _centroid
afw::table::CovarianceMatrixKey< ErrElement, 2 > _centroidErr
lsst::meas::base::CentroidResultKey::CentroidResultKey ( afw::table::SubSchema const &  s)

Construct from a subschema, assuming _x, _y, etc. subfields.

If a schema has "a_x", "a_y", etc. fields, this constructor allows you to construct a CentroidResultKey via:

Definition at line 108 of file CentroidUtilities.cc.

108  :
109  _centroid(s)
110 {
111  static std::vector<std::string> names = getNameVector(); // C++11 TODO: just use initializer list
112  try {
113  _centroidErr = afw::table::CovarianceMatrixKey<ErrElement,2>(s, names);
114  } catch (pex::exceptions::NotFoundError &) {}
115 }
afw::table::PointKey< CentroidElement > _centroid
afw::table::CovarianceMatrixKey< ErrElement, 2 > _centroidErr

Member Function Documentation

CentroidResultKey lsst::meas::base::CentroidResultKey::addFields ( afw::table::Schema schema,
std::string const &  name,
std::string const &  doc,
UncertaintyEnum  uncertainty 
)
static

Add the appropriate fields to a Schema, and return a CentroidResultKey that manages them.

Parameters
[in,out]schemaSchema to add fields to.
[in]nameName prefix for all fields; "_x", "_y", etc. will be appended to this to form the full field names.
[in]docString used as the documentation for the x and y fields.
[in]uncertaintyEnum indicating which (if any) uncertainty values will be saved.

The unit for all fields will be pixels (pixels^2 for covariances).

Definition at line 63 of file CentroidUtilities.cc.

68  {
71  schema,
72  name,
73  doc,
74  "pixels"
75  );
76  if (uncertainty != NO_UNCERTAINTY) {
77  std::vector< afw::table::Key<ErrElement> > sigma(2);
78  std::vector< afw::table::Key<ErrElement> > cov;
79  sigma[0] = schema.addField<ErrElement>(
80  schema.join(name, "xSigma"), "1-sigma uncertainty on x position", "pixels"
81  );
82  sigma[1] = schema.addField<ErrElement>(
83  schema.join(name, "ySigma"), "1-sigma uncertainty on y position", "pixels"
84  );
85  if (uncertainty == FULL_COVARIANCE) {
86  cov.push_back(
87  schema.addField<ErrElement>(
88  schema.join(name, "x_y_Cov"), "uncertainty covariance in x and y", "pixels^2"
89  )
90  );
91  }
92  r._centroidErr = afw::table::CovarianceMatrixKey<ErrElement,2>(sigma, cov);
93  }
94  return r;
95 }
static PointKey addFields(Schema &schema, std::string const &name, std::string const &doc, std::string const &unit)
table::Key< std::string > name
Definition: ApCorrMap.cc:71
afw::table::Schema schema
Definition: GaussianPsf.cc:41
The full covariance matrix is provided.
Definition: constants.h:44
float ErrElement
Definition: constants.h:53
afw::table::Key< double > sigma
Definition: GaussianPsf.cc:43
Algorithm provides no uncertainy information at all.
Definition: constants.h:42
CentroidResultKey()
Default constructor; instance will not be usuable unless subsequently assigned to.
CentroidResult lsst::meas::base::CentroidResultKey::get ( afw::table::BaseRecord const &  record) const
virtual

Get a CentroidResult from the given record.

Implements lsst::afw::table::OutputFunctorKey< CentroidResult >.

Definition at line 117 of file CentroidUtilities.cc.

117  {
118  CentroidResult r;
119  r.setCentroid(record.get(_centroid));
120  if (_centroidErr.isValid()) {
121  r.setCentroidErr(record.get(_centroidErr));
122  }
123  return r;
124 }
bool isValid() const
Return True if all the constituent sigma Keys are valid.
afw::table::PointKey< CentroidElement > _centroid
afw::table::CovarianceMatrixKey< ErrElement, 2 > _centroidErr
afw::table::PointKey<CentroidElement> lsst::meas::base::CentroidResultKey::getCentroid ( ) const
inline

Return a FunctorKey to just the centroid value.

Definition at line 155 of file CentroidUtilities.h.

155 { return _centroid; }
afw::table::PointKey< CentroidElement > _centroid
afw::table::CovarianceMatrixKey<ErrElement,2> lsst::meas::base::CentroidResultKey::getCentroidErr ( ) const
inline

Return a FunctorKey to just the uncertainty matrix.

Definition at line 158 of file CentroidUtilities.h.

158 { return _centroidErr; }
afw::table::CovarianceMatrixKey< ErrElement, 2 > _centroidErr
afw::table::Key<CentroidElement> lsst::meas::base::CentroidResultKey::getX ( ) const
inline

Return a Key for the x coordinate.

Definition at line 161 of file CentroidUtilities.h.

161 { return _centroid.getX(); }
Key< T > getX() const
Return the underlying x Key.
Definition: aggregates.h:100
afw::table::PointKey< CentroidElement > _centroid
afw::table::Key<CentroidElement> lsst::meas::base::CentroidResultKey::getY ( ) const
inline

Return a Key for the y coordinate.

Definition at line 164 of file CentroidUtilities.h.

164 { return _centroid.getY(); }
Key< T > getY() const
Return the underlying y Key.
Definition: aggregates.h:103
afw::table::PointKey< CentroidElement > _centroid
bool lsst::meas::base::CentroidResultKey::isValid ( ) const
inline

Return True if the centroid key is valid.

Definition at line 152 of file CentroidUtilities.h.

152 { return _centroid.isValid() && _centroidErr.isValid(); }
bool isValid() const
Return True if both the x and y Keys are valid.
Definition: aggregates.h:97
bool isValid() const
Return True if all the constituent sigma Keys are valid.
afw::table::PointKey< CentroidElement > _centroid
afw::table::CovarianceMatrixKey< ErrElement, 2 > _centroidErr
bool lsst::meas::base::CentroidResultKey::operator!= ( CentroidResultKey const &  other) const
inline

Compare the FunctorKey for equality with another, using the underlying Keys.

Definition at line 148 of file CentroidUtilities.h.

148 { return !(*this == other); }
bool lsst::meas::base::CentroidResultKey::operator== ( CentroidResultKey const &  other) const
inline

Compare the FunctorKey for equality with another, using the underlying Keys.

Definition at line 145 of file CentroidUtilities.h.

145  {
146  return _centroid == other._centroid && _centroidErr == other._centroidErr;
147  }
afw::table::PointKey< CentroidElement > _centroid
afw::table::CovarianceMatrixKey< ErrElement, 2 > _centroidErr
void lsst::meas::base::CentroidResultKey::set ( afw::table::BaseRecord record,
CentroidResult const &  value 
) const
virtual

Set a CentroidResult in the given record.

Definition at line 126 of file CentroidUtilities.cc.

126  {
127  record.set(_centroid, value.getCentroid());
128  if (_centroidErr.isValid()) {
129  record.set(_centroidErr, value.getCentroidErr());
130  }
131 }
bool isValid() const
Return True if all the constituent sigma Keys are valid.
afw::table::PointKey< CentroidElement > _centroid
afw::table::CovarianceMatrixKey< ErrElement, 2 > _centroidErr

Member Data Documentation

afw::table::PointKey<CentroidElement> lsst::meas::base::CentroidResultKey::_centroid
private

Definition at line 167 of file CentroidUtilities.h.

afw::table::CovarianceMatrixKey<ErrElement,2> lsst::meas::base::CentroidResultKey::_centroidErr
private

Definition at line 168 of file CentroidUtilities.h.


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