LSST Applications g0265f82a02+c6dfa2ddaf,g1162b98a3f+b2075782a9,g2079a07aa2+1b2e822518,g2bbee38e9b+c6dfa2ddaf,g337abbeb29+c6dfa2ddaf,g3ddfee87b4+a60788ef87,g50ff169b8f+2eb0e556e8,g52b1c1532d+90ebb246c7,g555ede804d+a60788ef87,g591dd9f2cf+ba8caea58f,g5ec818987f+864ee9cddb,g858d7b2824+9ee1ab4172,g876c692160+a40945ebb7,g8a8a8dda67+90ebb246c7,g8cdfe0ae6a+4fd9e222a8,g99cad8db69+5e309b7bc6,g9ddcbc5298+a1346535a5,ga1e77700b3+df8f93165b,ga8c6da7877+aa12a14d27,gae46bcf261+c6dfa2ddaf,gb0e22166c9+8634eb87fb,gb3f2274832+d0da15e3be,gba4ed39666+1ac82b564f,gbb8dafda3b+5dfd9c994b,gbeb006f7da+97157f9740,gc28159a63d+c6dfa2ddaf,gc86a011abf+9ee1ab4172,gcf0d15dbbd+a60788ef87,gdaeeff99f8+1cafcb7cd4,gdc0c513512+9ee1ab4172,ge79ae78c31+c6dfa2ddaf,geb67518f79+ba1859f325,geb961e4c1e+f9439d1e6f,gee10cc3b42+90ebb246c7,gf1cff7945b+9ee1ab4172,w.2024.12
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
lsst::meas::extensions::simpleShape::SimpleShapeResultKey Class Referenceabstract

#include <simpleShape.h>

Inheritance diagram for lsst::meas::extensions::simpleShape::SimpleShapeResultKey:
lsst::afw::table::FunctorKey< SimpleShapeResult > lsst::afw::table::OutputFunctorKey< T > lsst::afw::table::InputFunctorKey< T >

Public Types

using Value
 The data type for get and set.
 

Public Member Functions

 SimpleShapeResultKey ()
 
 SimpleShapeResultKey (lsst::afw::table::SubSchema const &s)
 Construct from a subschema, assuming _xx, _yy, etc.
 
virtual SimpleShapeResult get (afw::table::BaseRecord const &record) const
 
virtual void set (afw::table::BaseRecord &record, SimpleShapeResult const &value) const
 
bool operator== (SimpleShapeResultKey const &other) const
 Compare the FunctorKey for equality with another, using the underlying Keys.
 
bool operator!= (SimpleShapeResultKey const &other) const
 
bool isValid () const
 Return True if the key is valid.
 
lsst::meas::base::FlagHandler const & getFlagHandler () const
 
virtual void set (BaseRecord &record, T const &value) const =0
 

Static Public Member Functions

static SimpleShapeResultKey addFields (afw::table::Schema &schema, std::string const &name)
 

Detailed Description

Definition at line 52 of file simpleShape.h.

Member Typedef Documentation

◆ Value

The data type for get and set.

Definition at line 77 of file FunctorKey.h.

Constructor & Destructor Documentation

◆ SimpleShapeResultKey() [1/2]

lsst::meas::extensions::simpleShape::SimpleShapeResultKey::SimpleShapeResultKey ( )
inline

Definition at line 60 of file simpleShape.h.

60{}

◆ SimpleShapeResultKey() [2/2]

lsst::meas::extensions::simpleShape::SimpleShapeResultKey::SimpleShapeResultKey ( lsst::afw::table::SubSchema const & s)

Construct from a subschema, assuming _xx, _yy, etc.

subfields

If a schema has "a_xx", "a_yy", etc. fields, this constructor allows you to construct a SimpleShapeResultKey via:

Definition at line 336 of file simpleShape.cc.

336 :
337 _shapeResult(s),
338 _centroidResult(s),
339 _uncertantyResult(s, std::vector<std::string> ({"Ixx", "Iyy", "Ixy", "Ix", "Iy"})),
340 _flagHandler(s, SimpleShape::getFlagDefinitions())
341{}
static base::FlagDefinitionList const & getFlagDefinitions()

Member Function Documentation

◆ addFields()

SimpleShapeResultKey lsst::meas::extensions::simpleShape::SimpleShapeResultKey::addFields ( afw::table::Schema & schema,
std::string const & name )
static

Definition at line 319 of file simpleShape.cc.

322 {
324 r._shapeResult = lsst::afw::table::QuadrupoleKey::addFields(schema,
325 name, "elliptical Gaussian moments");
326 r._centroidResult = lsst::afw::table::Point2DKey::addFields(schema,
327 name, "elliptical Gaussian moments", "pixel");
328 r._uncertantyResult = lsst::afw::table::CovarianceMatrixKey<double, 5>::addFields(schema,name,
329 std::vector<std::string> ({"Ixx", "Iyy", "Ixy",
330 "Ix", "Iy"}), "pixel");
331 r._flagHandler = lsst::meas::base::FlagHandler::addFields(schema,
333 return r;
334}
static CovarianceMatrixKey addFields(Schema &schema, std::string const &prefix, NameArray const &names, std::string const &unit, bool diagonalOnly=false)
Add covariance matrix fields to a Schema, and return a CovarianceMatrixKey to manage them.
static PointKey addFields(Schema &schema, std::string const &name, std::string const &doc, std::string const &unit)
Add a pair of _x, _y fields to a Schema, and return a PointKey that points to them.
Definition aggregates.cc:36
static QuadrupoleKey addFields(Schema &schema, std::string const &name, std::string const &doc, CoordinateType coordType=CoordinateType::PIXEL)
Add a set of quadrupole subfields to a schema and return a QuadrupoleKey that points to them.
static FlagHandler addFields(afw::table::Schema &schema, std::string const &prefix, FlagDefinitionList const &flagDefs, FlagDefinitionList const &exclDefs=FlagDefinitionList::getEmptyList())
Add Flag fields to a schema, creating a FlagHandler object to manage them.

◆ get()

SimpleShapeResult lsst::meas::extensions::simpleShape::SimpleShapeResultKey::get ( afw::table::BaseRecord const & record) const
virtual

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

Definition at line 343 of file simpleShape.cc.

343 {
344 SimpleShapeResult result;
345 result.ellipse = record.get(_shapeResult);
346 result.center = record.get(_centroidResult);
347 result.covariance = record.get(_uncertantyResult);
348 for (std::size_t n = 0; n < SimpleShape::N_FLAGS; ++n) {
349 result.flags[n] = _flagHandler.getValue(record, n);
350 }
351 return result;
352}
py::object result
Definition _schema.cc:429
bool getValue(afw::table::BaseRecord const &record, std::size_t i) const
Return the value of the flag field corresponding to the given flag index.

◆ getFlagHandler()

lsst::meas::base::FlagHandler const & lsst::meas::extensions::simpleShape::SimpleShapeResultKey::getFlagHandler ( ) const
inline

Definition at line 85 of file simpleShape.h.

85{ return _flagHandler; }

◆ isValid()

bool lsst::meas::extensions::simpleShape::SimpleShapeResultKey::isValid ( ) const

Return True if the key is valid.

Definition at line 370 of file simpleShape.cc.

370 {
371 return _shapeResult.isValid() &&
372 _centroidResult.isValid() &&
373 _uncertantyResult.isValid();
374 //don't bother with flags - if we've gotten this far, it's basically impossible the flags don't match
375}
bool isValid() const noexcept
Return True if all the constituent error Keys are valid.
bool isValid() const noexcept
Return True if both the x and y Keys are valid.
Definition aggregates.h:106
bool isValid() const noexcept
Return True if all the constituent Keys are valid.
Definition aggregates.h:429

◆ operator!=()

bool lsst::meas::extensions::simpleShape::SimpleShapeResultKey::operator!= ( SimpleShapeResultKey const & other) const
inline

Definition at line 79 of file simpleShape.h.

79{ return !(*this == other); }

◆ operator==()

bool lsst::meas::extensions::simpleShape::SimpleShapeResultKey::operator== ( SimpleShapeResultKey const & other) const

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

Definition at line 363 of file simpleShape.cc.

363 {
364 return _shapeResult == other._shapeResult &&
365 _centroidResult == other._centroidResult &&
366 _uncertantyResult == other._uncertantyResult;
367 //don't bother with flags - if we've gotten this far, it's basically impossible the flags don't match
368}

◆ set() [1/2]

void lsst::meas::extensions::simpleShape::SimpleShapeResultKey::set ( afw::table::BaseRecord & record,
SimpleShapeResult const & value ) const
virtual

Definition at line 354 of file simpleShape.cc.

354 {
355 record.set(_shapeResult, value.ellipse);
356 record.set(_centroidResult, value.center);
357 record.set(_uncertantyResult, value.covariance);
358 for (std::size_t n = 0; n < SimpleShape::N_FLAGS; ++n) {
359 _flagHandler.setValue(record, n, value.flags[n]);
360 }
361}
void setValue(afw::table::BaseRecord &record, std::size_t i, bool value) const
Set the flag field corresponding to the given flag index.

◆ set() [2/2]

template<typename T >
virtual void lsst::afw::table::InputFunctorKey< T >::set ( BaseRecord & record,
T const & value ) const
pure virtualinherited

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