LSSTApplications  19.0.0-14-gb0260a2+72efe9b372,20.0.0+7927753e06,20.0.0+8829bf0056,20.0.0+995114c5d2,20.0.0+b6f4b2abd1,20.0.0+bddc4f4cbe,20.0.0-1-g253301a+8829bf0056,20.0.0-1-g2b7511a+0d71a2d77f,20.0.0-1-g5b95a8c+7461dd0434,20.0.0-12-g321c96ea+23efe4bbff,20.0.0-16-gfab17e72e+fdf35455f6,20.0.0-2-g0070d88+ba3ffc8f0b,20.0.0-2-g4dae9ad+ee58a624b3,20.0.0-2-g61b8584+5d3db074ba,20.0.0-2-gb780d76+d529cf1a41,20.0.0-2-ged6426c+226a441f5f,20.0.0-2-gf072044+8829bf0056,20.0.0-2-gf1f7952+ee58a624b3,20.0.0-20-geae50cf+e37fec0aee,20.0.0-25-g3dcad98+544a109665,20.0.0-25-g5eafb0f+ee58a624b3,20.0.0-27-g64178ef+f1f297b00a,20.0.0-3-g4cc78c6+e0676b0dc8,20.0.0-3-g8f21e14+4fd2c12c9a,20.0.0-3-gbd60e8c+187b78b4b8,20.0.0-3-gbecbe05+48431fa087,20.0.0-38-ge4adf513+a12e1f8e37,20.0.0-4-g97dc21a+544a109665,20.0.0-4-gb4befbc+087873070b,20.0.0-4-gf910f65+5d3db074ba,20.0.0-5-gdfe0fee+199202a608,20.0.0-5-gfbfe500+d529cf1a41,20.0.0-6-g64f541c+d529cf1a41,20.0.0-6-g9a5b7a1+a1cd37312e,20.0.0-68-ga3f3dda+5fca18c6a4,20.0.0-9-g4aef684+e18322736b,w.2020.45
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lsst::meas::base::ApertureFluxTransform Class Reference

Measurement transformation for aperture fluxes. More...

#include <ApertureFlux.h>

Inheritance diagram for lsst::meas::base::ApertureFluxTransform:
lsst::meas::base::BaseTransform

Public Types

typedef ApertureFluxControl Control
 

Public Member Functions

 ApertureFluxTransform (Control const &ctrl, 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

Measurement transformation for aperture fluxes.

Transforms instFluxes with associated errors to magnitudes. Correctly handles multiple apertures. Flags are propagated from input to output.

Definition at line 242 of file ApertureFlux.h.

Member Typedef Documentation

◆ Control

Definition at line 244 of file ApertureFlux.h.

Constructor & Destructor Documentation

◆ ApertureFluxTransform()

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

Definition at line 256 of file ApertureFlux.cc.

258  : BaseTransform(name), _ctrl(ctrl) {
259  for (std::size_t i = 0; i < _ctrl.radii.size(); ++i) {
261  FlagDefinition const &flag = ApertureFluxAlgorithm::getFlagDefinitions()[j];
262  if (_ctrl.radii[i] > _ctrl.maxSincRadius &&
264  continue;
265  }
266  mapper.addMapping(
267  mapper.getInputSchema()
268  .find<afw::table::Flag>(
269  (boost::format("%s_%s") %
270  ApertureFluxAlgorithm::makeFieldPrefix(name, _ctrl.radii[i]) % flag.name)
271  .str())
272  .key);
273  }
274  _magKeys.push_back(MagResultKey::addFields(
275  mapper.editOutputSchema(), ApertureFluxAlgorithm::makeFieldPrefix(name, _ctrl.radii[i])));
276  }
277 }

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  }

◆ operator()()

void lsst::meas::base::ApertureFluxTransform::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 279 of file ApertureFlux.cc.

281  {
282  checkCatalogSize(inputCatalog, outputCatalog);
283  std::vector<FluxResultKey> instFluxKeys;
284  for (std::size_t i = 0; i < _ctrl.radii.size(); ++i) {
285  instFluxKeys.push_back(FluxResultKey(
286  inputCatalog.getSchema()[ApertureFluxAlgorithm::makeFieldPrefix(_name, _ctrl.radii[i])]));
287  }
288  afw::table::SourceCatalog::const_iterator inSrc = inputCatalog.begin();
289  afw::table::BaseCatalog::iterator outSrc = outputCatalog.begin();
290  {
291  for (; inSrc != inputCatalog.end() && outSrc != outputCatalog.end(); ++inSrc, ++outSrc) {
292  for (std::size_t i = 0; i < _ctrl.radii.size(); ++i) {
293  FluxResult instFluxResult = instFluxKeys[i].get(*inSrc);
294  _magKeys[i].set(*outSrc, photoCalib.instFluxToMagnitude(instFluxResult.instFlux,
295  instFluxResult.instFluxErr));
296  }
297  }
298  }
299 }

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:
std::vector
STL class.
std::vector::size
T size(T... args)
lsst.pex.config.history.format
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:174
lsst::afw::geom.transform.transformContinued.name
string name
Definition: transformContinued.py:32
std::vector::push_back
T push_back(T... args)
lsst::meas::base::ApertureFluxControl::maxSincRadius
double maxSincRadius
"Maximum radius (in pixels) for which the sinc algorithm should be used instead of the " "faster naiv...
Definition: ApertureFlux.h:58
lsst::meas::base::BaseTransform::_name
std::string _name
Definition: Transform.h:107
lsst::meas::base::BaseTransform::checkCatalogSize
void checkCatalogSize(afw::table::BaseCatalog const &cat1, afw::table::BaseCatalog const &cat2) const
Ensure that catalogs have the same size.
Definition: Transform.h:102
lsst::afw::table::CatalogT< BaseRecord >::iterator
CatalogIterator< typename Internal::iterator > iterator
Definition: Catalog.h:110
lsst::meas::base::MagResultKey::addFields
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.
Definition: FluxUtilities.cc:57
lsst::meas::base::ApertureFluxAlgorithm::makeFieldPrefix
static std::string makeFieldPrefix(std::string const &name, double radius)
Construct an appropriate prefix for table fields.
Definition: ApertureFlux.cc:57
LSST_EXCEPT
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition: Exception.h:48
lsst::meas::base::FlagDefinitionList::size
std::size_t size() const
return the current size (number of defined elements) of the collection
Definition: FlagHandler.h:125
lsst::meas::base::ApertureFluxAlgorithm::getFlagDefinitions
static FlagDefinitionList const & getFlagDefinitions()
Definition: ApertureFlux.cc:49
photoCalib
Key< int > photoCalib
Definition: Exposure.cc:67
lsst::meas::base::ApertureFluxControl::radii
std::vector< double > radii
"Radius (in pixels) of apertures." ;
Definition: ApertureFlux.h:53
mapper
SchemaMapper * mapper
Definition: SchemaMapper.cc:78
std::size_t
lsst::meas::base::BaseTransform::BaseTransform
BaseTransform(std::string const &name)
Definition: Transform.h:88
lsst::meas::base::ApertureFluxAlgorithm::SINC_COEFFS_TRUNCATED
static FlagDefinition const SINC_COEFFS_TRUNCATED
Definition: ApertureFlux.h:87