Loading [MathJax]/extensions/tex2jax.js
LSST Applications g00d24c3146+07134a258f,g0fba68d861+c6b9c001b5,g1ec0fe41b4+f536777771,g1fd858c14a+958e7c0317,g216c3ac8a7+c5d9439d40,g35bb328faa+fcb1d3bbc8,g4d2262a081+0aed3363b2,g53246c7159+fcb1d3bbc8,g56a49b3a55+a44ca4bdea,g5a012ec0e7+3632fc3ff3,g60b5630c4e+07134a258f,g67b6fd64d1+ed4b5058f4,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g8180f54f50+a220987f6f,g8352419a5c+fcb1d3bbc8,g8852436030+bef424d5ca,g89139ef638+ed4b5058f4,g9125e01d80+fcb1d3bbc8,g94187f82dc+07134a258f,g989de1cb63+ed4b5058f4,g9ccd5d7f00+b7cae620c0,g9d31334357+07134a258f,g9f33ca652e+31a8ea3a30,gabe3b4be73+1e0a283bba,gabf8522325+fa80ff7197,gb1101e3267+c50a309191,gb58c049af0+f03b321e39,gb89ab40317+ed4b5058f4,gc0af124501+69caa252ab,gcf25f946ba+bef424d5ca,gd6cbbdb0b4+bb83cc51f8,gdd6d3460e7+d236de904b,gde0f65d7ad+d50ffb433c,ge278dab8ac+d65b3c2b70,ge410e46f29+ed4b5058f4,gf5e32f922b+fcb1d3bbc8,gf67bdafdda+ed4b5058f4,w.2025.16
LSST Data Management Base Package
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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.
 

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.

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}
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:110
typename Base::const_iterator const_iterator
void checkCatalogSize(afw::table::BaseCatalog const &cat1, afw::table::BaseCatalog const &cat2) const
Ensure that catalogs have the same size.
Definition Transform.h:102

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: