LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lsst::meas::base::FluxTransform Class Reference

Base for instFlux measurement transformations. More...

#include <FluxUtilities.h>

Inheritance diagram for lsst::meas::base::FluxTransform:
lsst::meas::base::BaseTransform lsst::meas::base::GaussianFluxTransform lsst::meas::base::LocalBackgroundTransform lsst::meas::base::PeakLikelihoodFluxTransform lsst::meas::base::PsfFluxTransform lsst::meas::base::ScaledApertureFluxTransform

Public Member Functions

 FluxTransform (std::string const &name, afw::table::SchemaMapper &mapper)
 
virtual void operator() (afw::table::SourceCatalog const &inputCatalog, afw::table::BaseCatalog &outputCatalog, afw::geom::SkyWcs const &wcs, afw::image::PhotoCalib const &photoCalib) const
 

Protected Member Functions

void checkCatalogSize (afw::table::BaseCatalog const &cat1, afw::table::BaseCatalog const &cat2) const
 Ensure that catalogs have the same size. More...
 

Protected Attributes

std::string _name
 

Detailed Description

Base for instFlux measurement transformations.

Provides a basic transform from instFlux plus associated uncertainty to magnitude with uncertainty. The basic "flag" attribute for the measurement algorithm is propagated to the output

Subclasses should define a constructor which take a Control argument corresponding to the measurement algorithm being transformed and ensure that any other necessary flags are propagated.

Definition at line 187 of file FluxUtilities.h.

Constructor & Destructor Documentation

◆ FluxTransform()

lsst::meas::base::FluxTransform::FluxTransform ( std::string const &  name,
afw::table::SchemaMapper mapper 
)

Definition at line 79 of file FluxUtilities.cc.

80  : BaseTransform{name} {
81  // Map the flag through to the output
82  mapper.addMapping(mapper.getInputSchema().find<afw::table::Flag>(name + "_flag").key);
83 
84  // Add keys for the magnitude and associated error
85  _magKey = MagResultKey::addFields(mapper.editOutputSchema(), name);
86 }
table::Key< std::string > name
Definition: Amplifier.cc:116
SchemaMapper * mapper
Definition: SchemaMapper.cc:71
BaseTransform(std::string const &name)
Definition: Transform.h:88
static MagResultKey addFields(afw::table::Schema &schema, std::string const &name)
Add a pair of _mag, _magErr fields to a Schema, and return a MagResultKey that points to them.

Member Function Documentation

◆ checkCatalogSize()

void lsst::meas::base::BaseTransform::checkCatalogSize ( afw::table::BaseCatalog const &  cat1,
afw::table::BaseCatalog const &  cat2 
) const
inlineprotectedinherited

Ensure that catalogs have the same size.

Parameters
[in]cat1Catalog for comparison
[in]cat2Catalog for comparison
Exceptions
LengthErrorCatalog sizes do not match

Definition at line 102 of file Transform.h.

102  {
103  if (cat1.size() != cat2.size()) {
104  throw LSST_EXCEPT(pex::exceptions::LengthError, "Catalog size mismatch");
105  }
106  }
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition: Exception.h:48

◆ operator()()

void lsst::meas::base::FluxTransform::operator() ( afw::table::SourceCatalog const &  inputCatalog,
afw::table::BaseCatalog outputCatalog,
afw::geom::SkyWcs const &  wcs,
afw::image::PhotoCalib const &  photoCalib 
) const
virtual

Implements lsst::meas::base::BaseTransform.

Definition at line 88 of file FluxUtilities.cc.

90  {
91  checkCatalogSize(inputCatalog, outputCatalog);
92  FluxResultKey instFluxKey(inputCatalog.getSchema()[_name]);
93  afw::table::SourceCatalog::const_iterator inSrc = inputCatalog.begin();
94  afw::table::BaseCatalog::iterator outSrc = outputCatalog.begin();
95  {
96  for (; inSrc != inputCatalog.end() && outSrc != outputCatalog.end(); ++inSrc, ++outSrc) {
97  FluxResult instFluxResult = instFluxKey.get(*inSrc);
98  _magKey.set(*outSrc,
99  photoCalib.instFluxToMagnitude(instFluxResult.instFlux, instFluxResult.instFluxErr));
100  }
101  }
102 }
CatalogIterator< typename Internal::iterator > iterator
Definition: Catalog.h:111
void checkCatalogSize(afw::table::BaseCatalog const &cat1, afw::table::BaseCatalog const &cat2) const
Ensure that catalogs have the same size.
Definition: Transform.h:102
virtual void set(afw::table::BaseRecord &record, MagResult const &magResult) const
Set a MagResult in the given record.
Key< int > photoCalib
Definition: Exposure.cc:67

Member Data Documentation

◆ _name

std::string lsst::meas::base::BaseTransform::_name
protectedinherited

Definition at line 107 of file Transform.h.


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