24 #ifndef LSST_AFW_MATH_SHAPELETS_FunctorKeys_h_INCLUDED
25 #define LSST_AFW_MATH_SHAPELETS_FunctorKeys_h_INCLUDED
33 namespace lsst {
namespace shapelet {
98 _ellipseKey(s), _coefficientsKey(s),
100 _basisType(basisType)
112 return _order == other._order && _ellipseKey == other._ellipseKey
113 && _coefficientsKey == other._coefficientsKey;
table::Key< std::string > name
ndarray::Array< double const, 2, 2 > coefficients
table::Key< table::Array< int > > components
bool isValid() const noexcept
Return True if the FunctorKey contains valid scalar keys.
Base class for all records.
A FunctorKey used to get or set a geom::ellipses::Ellipse from an (xx,yy,xy,x,y) tuple of Keys.
bool isValid() const noexcept
Return True if all the constituent Keys are valid.
Convenience base class that combines the OutputFunctorKey and InputFunctorKey.
Defines the fields and offsets for a table.
A proxy type for name lookups in a Schema.
A multi-scale shapelet function.
Class that maps MultiShapeletFunction objects to fields in afw::table objects.
bool operator!=(MultiShapeletFunctionKey const &other) const
MultiShapeletFunctionKey(afw::table::SubSchema const &s, BasisTypeEnum basisType=HERMITE)
Construct from a subschema, assuming the necesary subfields.
MultiShapeletFunctionKey()
Default constructor; instance will not be usuable unless subsequently assigned to.
std::shared_ptr< ShapeletFunctionKey const > operator[](int n) const
Return a FunctorKey to the nth component.
bool operator==(MultiShapeletFunctionKey const &other) const
Compare the FunctorKey for equality with another, using the underlying Ixx, Iyy, Ixy Keys.
MultiShapeletFunctionKey(std::vector< std::shared_ptr< ShapeletFunctionKey >> const &components)
Construct from individual Keys/FunctorKeys.
virtual void set(afw::table::BaseRecord &record, MultiShapeletFunction const &value) const
Set a MultiShapeletFunction in the given record.
static MultiShapeletFunctionKey addFields(afw::table::Schema &schema, std::string const &name, std::string const &doc, std::string const &ellipseUnit, std::string const &coeffUnit, std::vector< int > const &orders, BasisTypeEnum basisType=HERMITE)
Add the necessary fields for saving a ShapeletFunction to a Schema.
virtual MultiShapeletFunction get(afw::table::BaseRecord const &record) const
Get a MultiShapeletFunction from the given record.
bool isValid() const
Return True if all the constituent Keys are valid.
std::shared_ptr< ShapeletFunctionKey > operator[](int n)
Return a FunctorKey to the nth component.
A 2-d function defined by an expansion onto a Gauss-Laguerre or Gauss-Hermite basis.
Class that maps ShapeletFunction objects to fields in afw::table objects.
bool isValid() const
Return True if all the constituent Keys are valid.
ShapeletFunctionKey(afw::table::SubSchema const &s, BasisTypeEnum basisType=HERMITE)
Construct from a subschema, assuming the necesary subfields.
virtual void set(afw::table::BaseRecord &record, ShapeletFunction const &value) const
Set a ShapeletFunction in the given record.
static ShapeletFunctionKey addFields(afw::table::Schema &schema, std::string const &name, std::string const &doc, std::string const &ellipseUnit, std::string const &coeffUnit, int order, BasisTypeEnum basisType=HERMITE)
Add the necessary fields for saving a ShapeletFunction to a Schema.
bool operator==(ShapeletFunctionKey const &other) const
Compare the FunctorKey for equality with another, using the underlying Ixx, Iyy, Ixy Keys.
int getOrder() const
Return the shapelet order.
ShapeletFunctionKey(afw::table::EllipseKey const &ellipse, afw::table::ArrayKey< double > const &coefficients, BasisTypeEnum basisType=HERMITE)
Construct from individual Keys/FunctorKeys.
afw::table::EllipseKey const & getEllipse() const
Return a FunctorKey that extracts just the Ellipse.
bool operator!=(ShapeletFunctionKey const &other) const
ShapeletFunctionKey()
Default constructor; instance will not be usuable unless subsequently assigned to.
BasisTypeEnum getBasisType() const
Return the type of the shapelet basis.
afw::table::ArrayKey< double > const & getCoefficients() const
Return a FunctorKey that extracts just the coefficients.
virtual ShapeletFunction get(afw::table::BaseRecord const &record) const
Get a ShapeletFunction from the given record.
int computeOrder(int size)
Infer the order of a shapelet expansion from the number of coefficients.
@ HERMITE
Cartesian shapelets or Gauss-Hermite functions, as defined in Refregier, 2003.
A base class for image defects.