File FunctorKeys.h

namespace lsst

Class for a simple mapping implementing a generic AstrometryTransform.

Remove all non-astronomical counts from the Chunk Exposure’s pixels.

Forward declarations for lsst::utils::Cache

For details on the Cache class, see the Cache.h file.

It uses a template rather than a pointer so that the derived classes can use the specifics of the transform. The class simplePolyMapping overloads a few routines.

A base class for image defects

Numeric constants used by the Integrate.h integrator routines.

Compute Image Statistics

Note

Gauss-Kronrod-Patterson quadrature coefficients for use in quadpack routine qng. These coefficients were calculated with 101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov 1981.

Note

The Statistics class itself can only handle lsst::afw::image::MaskedImage() types. The philosophy has been to handle other types by making them look like lsst::afw::image::MaskedImage() and reusing that code. Users should have no need to instantiate a Statistics object directly, but should use the overloaded makeStatistics() factory functions.

namespace shapelet
class MultiShapeletFunctionKey : public lsst::afw::table::FunctorKey<MultiShapeletFunction>
#include <FunctorKeys.h>

Class that maps MultiShapeletFunction objects to fields in afw::table objects.

A MultiShapeletFunctionKey holds a sequnece of ShapeletFunctionKey, with an numerical prefix in front of each component. A two-component MultiShapeletFunctionKey would thus be associated with the following keys:

  • ”<prefix>_0_xx”

  • ”<prefix>_0_yy”

  • ”<prefix>_0_xy”

  • ”<prefix>_0_x”

  • ”<prefix>_0_y”

  • ”<prefix>_1_xx”

  • ”<prefix>_1_yy”

  • ”<prefix>_1_xy”

  • ”<prefix>_1_x”

  • ”<prefix>_1_y”

As with all FunctorKeys, a MultiShapeletFunctorKey can be used to directly get or set objects on an afw::table::BaseRecord, just as with a true Key.

Unnamed Group

bool operator==(MultiShapeletFunctionKey const &other) const

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

bool operator!=(MultiShapeletFunctionKey const &other) const

Public Functions

MultiShapeletFunctionKey()

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

MultiShapeletFunctionKey(std::vector<PTR(ShapeletFunctionKey)> const &components)

Construct from individual Keys/FunctorKeys.

MultiShapeletFunctionKey(afw::table::SubSchema const &s, BasisTypeEnum basisType = HERMITE)

Construct from a subschema, assuming the necesary subfields.

If a schema has e.g. “a_xx”, “a_0”, etc. fields, this constructor allows you to construct a ShapeletFunctionKey via:

ShapeletFunctionKey k(schema["a"]);

virtual MultiShapeletFunction get(afw::table::BaseRecord const &record) const

Get a MultiShapeletFunction from the given record.

virtual void set(afw::table::BaseRecord &record, MultiShapeletFunction const &value) const

Set a MultiShapeletFunction in the given record.

bool isValid() const

Return True if all the constituent Keys are valid.

PTR(ShapeletFunctionKey)

Return a FunctorKey to the nth component.

PTR(ShapeletFunctionKey const) const

Return a FunctorKey to the nth component.

Public Static Functions

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.

This method provides only basic exception safety - the schema may be (partially) modified even if an exception is thrown.

Parameters
  • [inout] schema: Schema to add fields to.

  • [in] name: Name prefix for all fields.

  • [in] doc: String used as the documentation for the fields.

  • [in] ellipseUnit: String used as the unit for the ellipse (“<ellipseUnit>^2” will be used for the Quadrupole moments).

  • [in] coeffUnit: String used as the unit for the coefficient vector

  • [in] orders: Vector of orders of the ShapeletFunctions to be saved.

  • [in] basisType: Type of shapelet basis (HERMITE or LAGUERRE) to be saved.

Private Members

std::vector<PTR(ShapeletFunctionKey)> _components
class ShapeletFunctionKey : public lsst::afw::table::FunctorKey<ShapeletFunction>
#include <FunctorKeys.h>

Class that maps ShapeletFunction objects to fields in afw::table objects.

A ShapeletFunctionKey manages a set of fields with a common prefix and the following suffixes:

  • ”x”, “y”, “xx”, “yy”, “xy”: ellipse

  • ”0”, “1”, “2”, …: coefficients.

As with all FunctorKeys, a ShapeletFunctorKey can be used to directly get or set objects on an afw::table::BaseRecord, just as with a true Key.

Unnamed Group

bool operator==(ShapeletFunctionKey const &other) const

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

bool operator!=(ShapeletFunctionKey const &other) const

Public Functions

ShapeletFunctionKey()

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

ShapeletFunctionKey(afw::table::EllipseKey const &ellipse, afw::table::ArrayKey<double> const &coefficients, BasisTypeEnum basisType = HERMITE)

Construct from individual Keys/FunctorKeys.

ShapeletFunctionKey(afw::table::SubSchema const &s, BasisTypeEnum basisType = HERMITE)

Construct from a subschema, assuming the necesary subfields.

If a schema has e.g. “a_xx”, “a_0”, etc. fields, this constructor allows you to construct a ShapeletFunctionKey via:

ShapeletFunctionKey k(schema["a"]);

virtual ShapeletFunction get(afw::table::BaseRecord const &record) const

Get a ShapeletFunction from the given record.

virtual void set(afw::table::BaseRecord &record, ShapeletFunction const &value) const

Set a ShapeletFunction in the given record.

bool isValid() const

Return True if all the constituent Keys are valid.

afw::table::EllipseKey const &getEllipse() const

Return a FunctorKey that extracts just the Ellipse.

afw::table::ArrayKey<double> const &getCoefficients() const

Return a FunctorKey that extracts just the coefficients.

int getOrder() const

Return the shapelet order.

BasisTypeEnum getBasisType() const

Return the type of the shapelet basis.

Public Static Functions

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.

This method provides only basic exception safety - the schema may be (partially) modified even if an exception is thrown.

Parameters
  • [inout] schema: Schema to add fields to.

  • [in] name: Name prefix for all fields.

  • [in] doc: String used as the documentation for the fields.

  • [in] ellipseUnit: String used as the unit for the ellipse (“<ellipseUnit>^2” will be used for the Quadrupole moments).

  • [in] coeffUnit: String used as the unit for the coefficient vector

  • [in] order: Order of the ShapeletFunction to be saved.

  • [in] basisType: Type of shapelet basis (HERMITE or LAGUERRE) to be saved.

Private Members

afw::table::EllipseKey _ellipseKey
afw::table::ArrayKey<double> _coefficientsKey
int _order
BasisTypeEnum _basisType