LSSTApplications  8.0.0.0+107,8.0.0.1+13,9.1+18,9.2,master-g084aeec0a4,master-g0aced2eed8+6,master-g15627eb03c,master-g28afc54ef9,master-g3391ba5ea0,master-g3d0fb8ae5f,master-g4432ae2e89+36,master-g5c3c32f3ec+17,master-g60f1e072bb+1,master-g6a3ac32d1b,master-g76a88a4307+1,master-g7bce1f4e06+57,master-g8ff4092549+31,master-g98e65bf68e,master-ga6b77976b1+53,master-gae20e2b580+3,master-gb584cd3397+53,master-gc5448b162b+1,master-gc54cf9771d,master-gc69578ece6+1,master-gcbf758c456+22,master-gcec1da163f+63,master-gcf15f11bcc,master-gd167108223,master-gf44c96c709
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 65 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 87 of file CentroidUtilities.h.

87 : _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 90 of file CentroidUtilities.h.

93  :
94  _centroid(centroid), _centroidErr(centroidErr)
95  {}
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 102 of file CentroidUtilities.cc.

102  :
103  _centroid(s)
104 {
105  static std::vector<std::string> names = getNameVector(); // C++11 TODO: just use initializer list
106  try {
107  _centroidErr = afw::table::CovarianceMatrixKey<ErrElement,2>(s, names);
108  } catch (pex::exceptions::NotFoundError &) {}
109 }
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 57 of file CentroidUtilities.cc.

62  {
65  schema,
66  name,
67  doc,
68  "pixels"
69  );
70  if (uncertainty != NO_UNCERTAINTY) {
71  std::vector< afw::table::Key<ErrElement> > sigma(2);
72  std::vector< afw::table::Key<ErrElement> > cov;
73  sigma[0] = schema.addField<ErrElement>(
74  schema.join(name, "xSigma"), "1-sigma uncertainty on x position", "pixels"
75  );
76  sigma[1] = schema.addField<ErrElement>(
77  schema.join(name, "ySigma"), "1-sigma uncertainty on y position", "pixels"
78  );
79  if (uncertainty == FULL_COVARIANCE) {
80  cov.push_back(
81  schema.addField<ErrElement>(
82  schema.join(name, "x_y_Cov"), "uncertainty covariance in x and y", "pixels^2"
83  )
84  );
85  }
86  r._centroidErr = afw::table::CovarianceMatrixKey<ErrElement,2>(sigma, cov);
87  }
88  return r;
89 }
static PointKey addFields(Schema &schema, std::string const &name, std::string const &doc, std::string const &unit)
The full covariance matrix is provided.
Definition: constants.h:44
float ErrElement
Definition: constants.h:51
afw::table::Key< double > sigma
Definition: GaussianPsf.cc:42
tbl::Schema schema
Definition: CoaddPsf.cc:324
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 111 of file CentroidUtilities.cc.

111  {
112  CentroidResult r;
113  r.setCentroid(record.get(_centroid));
114  if (_centroidErr.isValid()) {
115  r.setCentroidErr(record.get(_centroidErr));
116  }
117  return r;
118 }
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::SourceRecord * record
afw::table::PointKey<CentroidElement> lsst::meas::base::CentroidResultKey::getCentroid ( ) const
inline

Return a FunctorKey to just the centroid value.

Definition at line 126 of file CentroidUtilities.h.

126 { 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 129 of file CentroidUtilities.h.

129 { 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 132 of file CentroidUtilities.h.

132 { return _centroid.getX(); }
Key< T > getX() const
Return the underlying x Key.
Definition: aggregates.h:108
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 135 of file CentroidUtilities.h.

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

Return True if the centroid key is valid.

Definition at line 123 of file CentroidUtilities.h.

123 { return _centroid.isValid() && _centroidErr.isValid(); }
bool isValid() const
Return True if both the x and y Keys are valid.
Definition: aggregates.h:105
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 119 of file CentroidUtilities.h.

119 { 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 116 of file CentroidUtilities.h.

116  {
117  return _centroid == other._centroid && _centroidErr == other._centroidErr;
118  }
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 120 of file CentroidUtilities.cc.

120  {
121  record.set(_centroid, value.getCentroid());
122  if (_centroidErr.isValid()) {
123  record.set(_centroidErr, value.getCentroidErr());
124  }
125 }
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::SourceRecord * record

Member Data Documentation

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

Definition at line 138 of file CentroidUtilities.h.

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

Definition at line 139 of file CentroidUtilities.h.


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