LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Member Functions | Private Attributes | List of all members
lsst::meas::base::FluxTransform Class Reference

#include <FluxUtilities.h>

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

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::image::Wcs const &wcs, afw::image::Calib const &calib) const
 
- Public Member Functions inherited from lsst::meas::base::BaseTransform
 BaseTransform (std::string const &name)
 
virtual ~BaseTransform ()
 

Private Attributes

MagResultKey _magKey
 

Additional Inherited Members

- Protected Member Functions inherited from lsst::meas::base::BaseTransform
void checkCatalogSize (afw::table::BaseCatalog const &cat1, afw::table::BaseCatalog const &cat2) const
 Ensure that catalogs have the same size. More...
 
- Protected Attributes inherited from lsst::meas::base::BaseTransform
std::string _name
 

Detailed Description

Base for flux measurement transformations

Provides a basic transform from flux 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 191 of file FluxUtilities.h.

Constructor & Destructor Documentation

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

Definition at line 84 of file FluxUtilities.cc.

87  :
89 {
90  // Map the flag through to the output
91  mapper.addMapping(mapper.getInputSchema().find<afw::table::Flag>(name + "_flag").key);
92 
93  // Add keys for the magnitude and associated error
94  _magKey = MagResultKey::addFields(mapper.editOutputSchema(), name);
95 }
table::Key< std::string > name
Definition: ApCorrMap.cc:71
BaseTransform(std::string const &name)
Definition: Transform.h:85
static MagResultKey addFields(afw::table::Schema &schema, std::string const &name)

Member Function Documentation

void lsst::meas::base::FluxTransform::operator() ( afw::table::SourceCatalog const &  inputCatalog,
afw::table::BaseCatalog outputCatalog,
afw::image::Wcs const &  wcs,
afw::image::Calib const &  calib 
) const
virtual

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

Definition at line 97 of file FluxUtilities.cc.

102  {
103  checkCatalogSize(inputCatalog, outputCatalog);
104  FluxResultKey fluxKey(inputCatalog.getSchema()[_name]);
105  afw::table::SourceCatalog::const_iterator inSrc = inputCatalog.begin();
106  afw::table::BaseCatalog::iterator outSrc = outputCatalog.begin();
107  {
108  // While noThrow is in scope, converting a negative flux to a magnitude
109  // returns NaN rather than throwing.
110  NoThrowOnNegativeFluxContext noThrow;
111  for (; inSrc != inputCatalog.end() && outSrc != outputCatalog.end(); ++inSrc, ++outSrc) {
112  FluxResult fluxResult = fluxKey.get(*inSrc);
113  _magKey.set(*outSrc, calib.getMagnitude(fluxResult.flux, fluxResult.fluxSigma));
114  }
115  }
116 }
void checkCatalogSize(afw::table::BaseCatalog const &cat1, afw::table::BaseCatalog const &cat2) const
Ensure that catalogs have the same size.
Definition: Transform.h:101
Base::const_iterator const_iterator
Definition: SortedCatalog.h:49
virtual void set(afw::table::BaseRecord &record, MagResult const &magResult) const
Set a MagResult in the given record.
CatalogIterator< typename Internal::iterator > iterator
Definition: Catalog.h:107

Member Data Documentation

MagResultKey lsst::meas::base::FluxTransform::_magKey
private

Definition at line 209 of file FluxUtilities.h.


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