LSST Applications 28.0.2,g0fba68d861+5b923b673a,g1fd858c14a+7a7b9dd5ed,g2c84ff76c0+5548bfee71,g30358e5240+f0e04ebe90,g35bb328faa+fcb1d3bbc8,g436fd98eb5+bdc6fcdd04,g4af146b050+742274f7cd,g4d2262a081+3efd3f8190,g4e0f332c67+cb09b8a5b6,g53246c7159+fcb1d3bbc8,g5a012ec0e7+477f9c599b,g5edb6fd927+826dfcb47f,g60b5630c4e+bdc6fcdd04,g67b6fd64d1+2218407a0c,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g7b71ed6315+fcb1d3bbc8,g87b7deb4dc+f9ac2ab1bd,g8852436030+ebf28f0d95,g89139ef638+2218407a0c,g9125e01d80+fcb1d3bbc8,g989de1cb63+2218407a0c,g9f33ca652e+42fb53f4c8,g9f7030ddb1+11b9b6f027,ga2b97cdc51+bdc6fcdd04,gab72ac2889+bdc6fcdd04,gabe3b4be73+1e0a283bba,gabf8522325+3210f02652,gb1101e3267+9c79701da9,gb58c049af0+f03b321e39,gb89ab40317+2218407a0c,gcf25f946ba+ebf28f0d95,gd6cbbdb0b4+e8f9c9c900,gd9a9a58781+fcb1d3bbc8,gde0f65d7ad+a08f294619,ge278dab8ac+3ef3db156b,ge410e46f29+2218407a0c,gf67bdafdda+2218407a0c
LSST Data Management Base Package
|
Abstract base class for all C++ measurement transformations. More...
#include <Transform.h>
Public Member Functions | |
BaseTransform (std::string const &name) | |
virtual | ~BaseTransform () |
virtual void | operator() (afw::table::SourceCatalog const &inputCatalog, afw::table::BaseCatalog &outputCatalog, afw::geom::SkyWcs const &wcs, afw::image::PhotoCalib const &photoCalib) const =0 |
Protected Member Functions | |
void | checkCatalogSize (afw::table::BaseCatalog const &cat1, afw::table::BaseCatalog const &cat2) const |
Ensure that catalogs have the same size. | |
Protected Attributes | |
std::string | _name |
Abstract base class for all C++ measurement transformations.
Measurement plugins return results in raw, uncalibrated units (eg fluxes or positions in pixels). The transformation system provides a mechanism for post-processing those results into a calibrated form (magnitudes, celestial coordinates, etc).
A measurement transformation should derive from BaseTransform. It should implement a constructor which takes three arguments:
Control
object describing the configuration of the measurement plugin.std::string
);lsst::afw::table::SchemaMapper
which links the input and output catalogs;The constructor should use the SchemaMapper to map fields from the input to output schemas and add additional keys to the output as required. For example:
Derived classes should also implement operator()
following the interface below. This will be called with a catalog containing the results of the measurement plugin and a catalog to be populated with transformed quantities, as well as WCS and calibration information. For example:
Note that it is safe to assume that both catalogs passed to operator()
are contiguous in memory. It is good practice to ensure that they are equal in size: this may be conveniently achieved by calling BaseTransform::checkCatalogSize()
.
operator()
may throw LengthError
if the transformation is impossible to complete. In this case, the contents of outputCatalog
is not guaranteed.
Definition at line 86 of file Transform.h.
|
inlineexplicit |
Definition at line 88 of file Transform.h.
|
inlinevirtual |
Definition at line 89 of file Transform.h.
|
inlineprotected |
Ensure that catalogs have the same size.
[in] | cat1 | Catalog for comparison |
[in] | cat2 | Catalog for comparison |
LengthError | Catalog sizes do not match |
Definition at line 102 of file Transform.h.
|
pure virtual |
|
protected |
Definition at line 107 of file Transform.h.