File aggregates.h¶
-
template<typename
T
>
structhash
<lsst::afw::table::PointKey<T>>¶ Public Types
-
template<>
usingresult_type
= size_t¶
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
template<typename
T
>
structhash
<lsst::afw::table::BoxKey<T>>¶ Public Types
-
template<>
usingresult_type
= size_t¶
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
template<>
structhash
<lsst::afw::table::CoordKey>¶ Public Types
-
template<>
usingresult_type
= size_t¶
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
template<>
structhash
<lsst::afw::table::QuadrupoleKey>¶ Public Types
-
template<>
usingargument_type
= lsst::afw::table::QuadrupoleKey¶
-
template<>
usingresult_type
= size_t¶
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
template<>
structhash
<lsst::afw::table::EllipseKey>¶ Public Types
-
template<>
usingargument_type
= lsst::afw::table::EllipseKey¶
-
template<>
usingresult_type
= size_t¶
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
template<typename
T
, intN
>
structhash
<lsst::afw::table::CovarianceMatrixKey<T, N>>¶ Public Types
-
template<>
usingargument_type
= lsst::afw::table::CovarianceMatrixKey<T, N>¶
-
template<>
usingresult_type
= size_t¶
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
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
afw
-
namespace
table
Typedefs
Enums
-
enum
CoordinateType
Enum used to set units for geometric FunctorKeys.
Values:
-
PIXEL
-
CELESTIAL
-
-
template<typename
Box
>
classBoxKey
: public lsst::afw::table::FunctorKey<Box> - #include <aggregates.h>
A FunctorKey used to get or set a lsst::geom::Box2I or Box2D from a (min, max) pair of PointKeys.
The Box2IKey and Box2DKey typedefs should be preferred to using the template name directly.
Unnamed Group
-
bool
operator==
(BoxKey const &other) const Compare the FunctorKey for equality with another, using the underlying x and y Keys.
-
bool
operator!=
(BoxKey const &other) const
Public Types
-
template<>
usingElement
= typename Box::Element Type of coordinate elements (i.e. int or double).
Public Functions
-
BoxKey
() Default constructor; instance will not be usable unless subsequently assigned to.
-
BoxKey
(PointKey<Element> const &min, PointKey<Element> const &max) Construct from a pair of PointKeys.
-
BoxKey
(SubSchema const &s) Construct from a subschema, assuming _min_x, _max_x, _min_y, _max_y subfields
If a schema has “a_min_x” and “a_min_x” (etc) fields, this constructor allows you to construct a BoxKey via:
BoxKey<Box> k(schema["a"]);
-
BoxKey
(BoxKey const&)
-
BoxKey
(BoxKey&&)
-
BoxKey &
operator=
(BoxKey const&)
-
BoxKey &
operator=
(BoxKey&&)
-
~BoxKey
()
-
std::size_t
hash_value
() const Return a hash of this object.
-
Box
get
(BaseRecord const &record) const Get a Box from the given record.
-
void
set
(BaseRecord &record, Box const &value) const Set a Box in the given record.
-
bool
isValid
() const Return True if both the min and max PointKeys are valid.
Public Static Functions
-
static BoxKey
addFields
(Schema &schema, std::string const &name, std::string const &doc, std::string const &unit) Add _min_x, _min_y, _max_x, _max_y fields to a Schema, and return a BoxKey that points to them.
- Parameters
[inout] schema
: Schema to add fields to.[in] name
: Name prefix for all fields; suffixes above will be appended to this to form the full field names. For example, ifname == "b"
, the fields added will be “b_min_x”, “b_min_y”, “b_max_x”, and “b_max_y”.[in] doc
: String used as the documentation for the fields.[in] unit
: String used as the unit for all fields.
-
bool
-
class
CoordKey
: public lsst::afw::table::FunctorKey<lsst::geom::SpherePoint> - #include <aggregates.h>
A FunctorKey used to get or set celestial coordinates from a pair of lsst::geom::Angle keys.
Coords are always stored and returned in the ICRS system. Coords in other systems may be assigned, but this will result in a conversion to ICRS.
Unnamed Group
-
bool
operator==
(CoordKey const &other) const Compare CoordKeys for equality using the constituent
ra
anddec
Keys.
-
bool
operator!=
(CoordKey const &other) const
Unnamed Group
Public Functions
-
CoordKey
() Default constructor; instance will not be usable unless subsequently assigned to.
-
CoordKey
(Key<lsst::geom::Angle> const &ra, Key<lsst::geom::Angle> const &dec) Construct from a pair of Keys.
-
CoordKey
(SubSchema const &s) Construct from a subschema, assuming ra and dec subfields.
If a schema has “a_ra” and “a_dec” fields, this constructor allows you to construct a CoordKey via:
CoordKey k(schema["a"]);
-
CoordKey
(CoordKey const&)
-
CoordKey
(CoordKey&&)
-
~CoordKey
()
-
lsst::geom::SpherePoint
get
(BaseRecord const &record) const Get an lsst::geom::SpherePoint from the given record.
-
void
set
(BaseRecord &record, lsst::geom::SpherePoint const &value) const Set an lsst::geom::SpherePoint in the given record.
-
std::size_t
hash_value
() const Return a hash of this object.
-
bool
isValid
() const
Public Static Functions
-
static CoordKey
addFields
(afw::table::Schema &schema, std::string const &name, std::string const &doc) Add a pair of _ra, _dec fields to a Schema, and return a CoordKey that points to them.
- Parameters
[inout] schema
: Schema to add fields to.[in] name
: Name prefix for all fields; “_ra”, “_dec”, will be appended to this to form the full field names.[in] doc
: String used as the documentation for the fields.
-
bool
-
template<typename
T
, intN
>
classCovarianceMatrixKey
: public lsst::afw::table::FunctorKey<Eigen::Matrix<T, N, N>> Unnamed Group
-
bool
operator==
(CovarianceMatrixKey const &other) const Compare the FunctorKey for equality with another, using its constituent Keys.
-
bool
operator!=
(CovarianceMatrixKey const &other) const
Public Types
Public Functions
-
CovarianceMatrixKey
() Construct an invalid instance; must assign before subsequent use.
-
CovarianceMatrixKey
(ErrKeyArray const &err, CovarianceKeyArray const &cov = CovarianceKeyArray()) Construct a from arrays of per-element Keys
The err array Keys should point to the square root of the diagonal of the covariance matrix. The cov array Keys should point to the off-diagonal elements of the lower-triangle, packed first in rows, then in columns (or equivalently, in the upper-triangle, packed first in columns, then in rows). For a 4x4 matrix, the order is is:
err[0]^2 cov[0] cov[1] cov[3] cov[0] err[1]^2 cov[2] cov[4] cov[1] cov[2] err[2]^2 cov[5] cov[3] cov[4] cov[5] err[3]^2
The cov array may also be empty, to indicate that no off-diagonal elements are stored, and should be set to zero. If not empty, the size of the cov matrix must be exactly n*(n-1)/2, where n is the size of the err matrix.
-
CovarianceMatrixKey
(SubSchema const &s, NameArray const &names) Construct from a subschema and an array of names for each parameter of the matrix.
The field names should match the following convention:
diagonal elements should have names like “p1Err”, where “p1” is the name of the parameter, and should contain the square root of the variance in that parameter.
off-diagonal elements hould have names like “p1_p2_Cov”, where “p1” and “p2” are names of parameters. For example, for the covariance matrix of a position, we’d look for “xErr”, “yErr”, and “x_y_Cov”.
-
CovarianceMatrixKey
(CovarianceMatrixKey const&)
-
CovarianceMatrixKey
(CovarianceMatrixKey&&)
-
CovarianceMatrixKey &
operator=
(CovarianceMatrixKey const&)
-
CovarianceMatrixKey &
operator=
(CovarianceMatrixKey&&)
-
~CovarianceMatrixKey
()
-
Eigen::Matrix<T, N, N>
get
(BaseRecord const &record) const Get a covariance matrix from the given record.
-
void
set
(BaseRecord &record, Eigen::Matrix<T, N, N> const &value) const Set a covariance matrix in the given record (uses only the lower triangle of the given matrix)
-
T
getElement
(BaseRecord const &record, int i, int j) const Return the element in row i and column j.
-
void
setElement
(BaseRecord &record, int i, int j, T value) const Set the element in row i and column j.
-
bool
isValid
() const Return True if all the constituent error Keys are valid
Note that if the only one or more off-diagonal keys are invalid, we assume that means those terms are zero, not that the whole FunctorKey is invalid.
-
std::size_t
hash_value
() const Return a hash of this object.
Public Static Functions
-
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.
- Parameters
[out] schema
: Schema to add fields to.[in] prefix
: String used to form the first part of all field names. Suffixes of the form ‘_xErr’ and ‘_x_y_Cov’ will be added to form the full field names (using names={‘x’, ‘y’} as an example).[in] unit
: Unit for for error (standard deviation) values; covariance matrix elements will be unit^2.[in] names
: Vector of strings containing the names of the quantities the covariance matrix represents the uncertainty of.[in] diagonalOnly
: If true, only create fields for the error values.
-
static CovarianceMatrixKey
addFields
(Schema &schema, std::string const &prefix, NameArray const &names, NameArray const &units, bool diagonalOnly = false) Add covariance matrix fields to a Schema, and return a CovarianceMatrixKey to manage them.
- Parameters
[out] schema
: Schema to add fields to.[in] prefix
: String used to form the first part of all field names. Suffixes of the form ‘_xErr’ and ‘_x_y_Cov’ will be added to form the full field names (using names={‘x’, ‘y’} as an example).[in] units
: Vector of units for for error (standard deviation) values; covariance matrix elements will have “{units[i]} {units[j]}” or “{units[i]}^2”, depending on whether units[i] == units[j].[in] names
: Vector of strings containing the names of the quantities the covariance matrix represents the uncertainty of.[in] diagonalOnly
: If true, only create fields for the error values.
-
bool
-
class
EllipseKey
: public lsst::afw::table::FunctorKey<lsst::afw::geom::ellipses::Ellipse> - #include <aggregates.h>
A FunctorKey used to get or set a geom::ellipses::Ellipse from an (xx,yy,xy,x,y) tuple of Keys.
Unnamed Group
-
bool
operator==
(EllipseKey const &other) const Compare the FunctorKey for equality with another, using the underlying Ixx, Iyy, Ixy Keys.
-
bool
operator!=
(EllipseKey const &other) const
Unnamed Group
-
QuadrupoleKey
getCore
() const Return constituent FunctorKeys.
-
PointKey<double>
getCenter
() const
Public Functions
-
EllipseKey
() Default constructor; instance will not be usable unless subsequently assigned to.
-
EllipseKey
(QuadrupoleKey const &qKey, PointKey<double> const &pKey) Construct from individual Keys.
-
EllipseKey
(SubSchema const &s) Construct from a subschema, assuming (xx, yy, xy, x, y) subfields
If a schema has “a_xx”, “a_yy”, “a_xy”, “a_x”, and “a_y” fields, this constructor allows you to construct an EllipseKey via:
EllipseKey k(schema["a"]);
-
EllipseKey
(EllipseKey const&)
-
EllipseKey
(EllipseKey&&)
-
EllipseKey &
operator=
(EllipseKey const&)
-
EllipseKey &
operator=
(EllipseKey&&)
-
~EllipseKey
()
-
geom::ellipses::Ellipse
get
(BaseRecord const &record) const Get an Ellipse from the given record.
-
void
set
(BaseRecord &record, geom::ellipses::Ellipse const &value) const Set an Ellipse in the given record.
-
std::size_t
hash_value
() const Return a hash of this object.
-
bool
isValid
() const Return True if all the constituent Keys are valid.
Public Static Functions
-
static EllipseKey
addFields
(Schema &schema, std::string const &name, std::string const &doc, std::string const &unit) Add a set of _xx, _yy, _xy, _x, _y fields to a Schema, and return an EllipseKey that points to them.
- Parameters
[inout] schema
: Schema to add fields to.[in] name
: Name prefix for all fields; “_xx”, “_yy”, “_xy”, “_x” ,”_y”, will be appended to this to form the full field names.[in] doc
: String used as the documentation for the fields.[in] unit
: String used as the unit for x and y fields; “<unit>^2” will be used for xx, yy, and xy fields.
-
bool
-
template<typename
T
>
classPointKey
: public lsst::afw::table::FunctorKey<lsst::geom::Point<T, 2>> - #include <aggregates.h>
A FunctorKey used to get or set a lsst::geom::Point from an (x,y) pair of int or double Keys.
Unnamed Group
-
bool
operator==
(PointKey<T> const &other) const Compare the FunctorKey for equality with another, using the underlying x and y Keys.
-
bool
operator!=
(PointKey<T> const &other) const
Public Functions
-
PointKey
() Default constructor; instance will not be usable unless subsequently assigned to.
-
PointKey
(PointKey const&)
-
PointKey
(PointKey&&)
-
PointKey &
operator=
(PointKey const&)
-
PointKey &
operator=
(PointKey&&)
-
~PointKey
()
-
PointKey
(SubSchema const &s) Construct from a subschema, assuming x and y subfields
If a schema has “a_x” and “a_y” fields, this constructor allows you to construct a PointKey via:
PointKey<T> k(schema["a"]);
-
lsst::geom::Point<T, 2>
get
(BaseRecord const &record) const Get a Point from the given record.
-
void
set
(BaseRecord &record, lsst::geom::Point<T, 2> const &value) const Set a Point in the given record.
-
std::size_t
hash_value
() const Return a hash of this object.
-
bool
isValid
() const Return True if both the x and y Keys are valid.
Public Static Functions
-
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.
- Parameters
[inout] schema
: Schema to add fields to.[in] name
: Name prefix for all fields; “_x”, “_y”, will be appended to this to form the full field names.[in] doc
: String used as the documentation for the fields.[in] unit
: String used as the unit for all fields.
-
bool
-
class
QuadrupoleKey
: public lsst::afw::table::FunctorKey<lsst::afw::geom::ellipses::Quadrupole> - #include <aggregates.h>
A FunctorKey used to get or set a geom::ellipses::Quadrupole from a tuple of constituent Keys.
Unnamed Group
-
bool
operator==
(QuadrupoleKey const &other) const Compare the FunctorKey for equality with another, using the underlying Ixx, Iyy, Ixy Keys.
-
bool
operator!=
(QuadrupoleKey const &other) const
Public Functions
-
QuadrupoleKey
() Default constructor; instance will not be usable unless subsequently assigned to.
-
QuadrupoleKey
(Key<double> const &ixx, Key<double> const &iyy, Key<double> const &ixy) Construct from individual Keys.
-
QuadrupoleKey
(SubSchema const &s) Construct from a subschema with appropriate subfields
If the schema has “a_xx”, “a_yy” and “a_xy” fields this constructor enables you to construct a QuadrupoleKey via:
QuadrupoleKey k(schema["a"], coordType);
-
QuadrupoleKey
(QuadrupoleKey const&)
-
QuadrupoleKey
(QuadrupoleKey&&)
-
QuadrupoleKey &
operator=
(QuadrupoleKey const&)
-
QuadrupoleKey &
operator=
(QuadrupoleKey&&)
-
~QuadrupoleKey
()
-
geom::ellipses::Quadrupole
get
(BaseRecord const &record) const Get a Quadrupole from the given record.
-
void
set
(BaseRecord &record, geom::ellipses::Quadrupole const &value) const Set a Quadrupole in the given record.
-
std::size_t
hash_value
() const Return a hash of this object.
-
bool
isValid
() const Return True if all the constituent Keys are valid.
Public Static Functions
-
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.
- Parameters
[inout] schema
: Schema to add fields to.[in] name
: Name prefix for all fields; (“_xx”, “_yy”, “_xy”) will be appended to this to form the full field names. In celestial coordinates, we use “x” as a synonym for “RA” and “y” for “dec”.[in] doc
: String used as the documentation for the fields.[in] coordType
: Type of coordinates in use (PIXEL or CELESTIAL).
-
bool
-
enum
-
namespace
-
namespace
std
-
template<typename
T
>
structhash
<lsst::afw::table::BoxKey<T>> Public Types
-
template<>
usingresult_type
= size_t
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
template<>
structhash
<lsst::afw::table::CoordKey> Public Types
-
template<>
usingresult_type
= size_t
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
template<typename
T
, intN
>
structhash
<lsst::afw::table::CovarianceMatrixKey<T, N>> Public Types
-
template<>
usingargument_type
= lsst::afw::table::CovarianceMatrixKey<T, N>
-
template<>
usingresult_type
= size_t
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
template<>
structhash
<lsst::afw::table::EllipseKey> Public Types
-
template<>
usingargument_type
= lsst::afw::table::EllipseKey
-
template<>
usingresult_type
= size_t
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
template<typename
T
>
structhash
<lsst::afw::table::PointKey<T>> Public Types
-
template<>
usingresult_type
= size_t
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
template<>
structhash
<lsst::afw::table::QuadrupoleKey> Public Types
-
template<>
usingargument_type
= lsst::afw::table::QuadrupoleKey
-
template<>
usingresult_type
= size_t
Public Functions
-
size_t
operator()
(argument_type const &obj) const
-
template<>
-
template<typename