LSSTApplications  18.0.0+106,18.0.0+50,19.0.0,19.0.0+1,19.0.0+10,19.0.0+11,19.0.0+13,19.0.0+17,19.0.0+2,19.0.0-1-g20d9b18+6,19.0.0-1-g425ff20,19.0.0-1-g5549ca4,19.0.0-1-g580fafe+6,19.0.0-1-g6fe20d0+1,19.0.0-1-g7011481+9,19.0.0-1-g8c57eb9+6,19.0.0-1-gb5175dc+11,19.0.0-1-gdc0e4a7+9,19.0.0-1-ge272bc4+6,19.0.0-1-ge3aa853,19.0.0-10-g448f008b,19.0.0-12-g6990b2c,19.0.0-2-g0d9f9cd+11,19.0.0-2-g3d9e4fb2+11,19.0.0-2-g5037de4,19.0.0-2-gb96a1c4+3,19.0.0-2-gd955cfd+15,19.0.0-3-g2d13df8,19.0.0-3-g6f3c7dc,19.0.0-4-g725f80e+11,19.0.0-4-ga671dab3b+1,19.0.0-4-gad373c5+3,19.0.0-5-ga2acb9c+2,19.0.0-5-gfe96e6c+2,w.2020.01
LSSTDataManagementBasePackage
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
lsst::afw::image::ExposureInfo Class Referencefinal

A collection of all the things that make an Exposure different from a MaskedImage. More...

#include <ExposureInfo.h>

Public Member Functions

bool hasWcs () const
 Does this exposure have a Wcs? More...
 
std::shared_ptr< geom::SkyWcs const > getWcs () const
 Return the WCS of the exposure. More...
 
void setWcs (std::shared_ptr< geom::SkyWcs const > wcs)
 Set the WCS of the exposure. More...
 
bool hasDetector () const
 Does this exposure have Detector information? More...
 
std::shared_ptr< cameraGeom::Detector const > getDetector () const
 Return the exposure's Detector information. More...
 
void setDetector (std::shared_ptr< cameraGeom::Detector const > detector)
 Set the exposure's Detector information. More...
 
Filter getFilter () const
 Return the exposure's filter. More...
 
void setFilter (Filter const &filter)
 Set the exposure's filter. More...
 
bool hasPhotoCalib () const
 Does this exposure have a photometric calibration? More...
 
std::shared_ptr< PhotoCalib const > getPhotoCalib () const
 Return the exposure's photometric calibration. More...
 
void setPhotoCalib (std::shared_ptr< PhotoCalib const > photoCalib)
 Set the Exposure's PhotoCalib object. More...
 
std::shared_ptr< daf::base::PropertySetgetMetadata () const
 Return flexible metadata. More...
 
void setMetadata (std::shared_ptr< daf::base::PropertySet > metadata)
 Set the flexible metadata. More...
 
bool hasPsf () const
 Does this exposure have a Psf? More...
 
std::shared_ptr< detection::Psf const > getPsf () const
 Return the exposure's point-spread function. More...
 
void setPsf (std::shared_ptr< detection::Psf const > psf)
 Set the exposure's point-spread function. More...
 
bool hasValidPolygon () const
 Does this exposure have a valid Polygon. More...
 
std::shared_ptr< geom::polygon::Polygon const > getValidPolygon () const
 Return the valid Polygon. More...
 
void setValidPolygon (std::shared_ptr< geom::polygon::Polygon const > polygon)
 Set the exposure's valid Polygon. More...
 
bool hasApCorrMap () const
 Return true if the exposure has an aperture correction map. More...
 
std::shared_ptr< ApCorrMap const > getApCorrMap () const
 Return the exposure's aperture correction map (null pointer if !hasApCorrMap()) More...
 
void setApCorrMap (std::shared_ptr< ApCorrMap const > apCorrMap)
 Set the exposure's aperture correction map (null pointer if !hasApCorrMap()) More...
 
void initApCorrMap ()
 Set the exposure's aperture correction map to a new, empty map. More...
 
bool hasCoaddInputs () const
 Does this exposure have coadd provenance catalogs? More...
 
void setCoaddInputs (std::shared_ptr< CoaddInputs const > coaddInputs)
 Set the exposure's coadd provenance catalogs. More...
 
std::shared_ptr< CoaddInputs const > getCoaddInputs () const
 Return a pair of catalogs that record the inputs, if this Exposure is a coadd (otherwise null). More...
 
std::shared_ptr< image::VisitInfo const > getVisitInfo () const
 Return the exposure's visit info. More...
 
bool hasVisitInfo () const
 Does this exposure have visit info? More...
 
void setVisitInfo (std::shared_ptr< image::VisitInfo const > const visitInfo)
 Set the exposure's visit info. More...
 
bool hasTransmissionCurve () const
 Does this exposure have a transmission curve? More...
 
std::shared_ptr< TransmissionCurve const > getTransmissionCurve () const
 Return the exposure's transmission curve. More...
 
void setTransmissionCurve (std::shared_ptr< TransmissionCurve const > tc)
 Set the exposure's transmission curve. More...
 
template<class T >
void setComponent (typehandling::Key< std::string, std::shared_ptr< T >> const &key, std::shared_ptr< T > const &object)
 Add a generic component to the ExposureInfo. More...
 
template<class T >
bool hasComponent (typehandling::Key< std::string, T > const &key) const
 Test whether a generic component is defined. More...
 
template<class T >
std::shared_ptr< T > getComponent (typehandling::Key< std::string, std::shared_ptr< T >> const &key) const
 Retrieve a generic component from the ExposureInfo. More...
 
template<class T >
bool removeComponent (typehandling::Key< std::string, T > const &key)
 Clear a generic component from the ExposureInfo. More...
 
 ExposureInfo (std::shared_ptr< geom::SkyWcs const > const &wcs=std::shared_ptr< geom::SkyWcs const >(), std::shared_ptr< detection::Psf const > const &psf=std::shared_ptr< detection::Psf const >(), std::shared_ptr< PhotoCalib const > const &photoCalib=std::shared_ptr< PhotoCalib const >(), std::shared_ptr< cameraGeom::Detector const > const &detector=std::shared_ptr< cameraGeom::Detector const >(), std::shared_ptr< geom::polygon::Polygon const > const &polygon=std::shared_ptr< geom::polygon::Polygon const >(), Filter const &filter=Filter(), std::shared_ptr< daf::base::PropertySet > const &metadata=std::shared_ptr< daf::base::PropertySet >(), std::shared_ptr< CoaddInputs > const &coaddInputs=std::shared_ptr< CoaddInputs >(), std::shared_ptr< ApCorrMap > const &apCorrMap=std::shared_ptr< ApCorrMap >(), std::shared_ptr< image::VisitInfo const > const &visitInfo=std::shared_ptr< image::VisitInfo const >(), std::shared_ptr< TransmissionCurve const > const &transmissionCurve=std::shared_ptr< TransmissionCurve >())
 Construct an ExposureInfo from its various components. More...
 
 ExposureInfo (ExposureInfo const &other)
 Copy constructor; shares all components except the filter. More...
 
 ExposureInfo (ExposureInfo &&other)
 
 ExposureInfo (ExposureInfo const &other, bool copyMetadata)
 Copy constructor; shares everything but the filter and possibly the metadata. More...
 
ExposureInfooperator= (ExposureInfo const &other)
 Assignment; shares all components except the filter. More...
 
ExposureInfooperator= (ExposureInfo &&other)
 
 ~ExposureInfo ()
 

Static Public Member Functions

static int getFitsSerializationVersion ()
 Get the version of FITS serialization that this ExposureInfo understands. More...
 
static std::string const & getFitsSerializationVersionName ()
 Get the version of FITS serialization version info name. More...
 

Static Public Attributes

static typehandling::Key< std::string, std::shared_ptr< geom::SkyWcs const > > const KEY_WCS
 Standard key for looking up the Wcs. More...
 
static typehandling::Key< std::string, std::shared_ptr< detection::Psf const > > const KEY_PSF
 Standard key for looking up the point-spread function. More...
 
static typehandling::Key< std::string, std::shared_ptr< PhotoCalib const > > const KEY_PHOTO_CALIB
 Standard key for looking up the photometric calibration. More...
 
static typehandling::Key< std::string, std::shared_ptr< cameraGeom::Detector const > > const KEY_DETECTOR
 Standard key for looking up the detector information. More...
 
static typehandling::Key< std::string, std::shared_ptr< geom::polygon::Polygon const > > const KEY_VALID_POLYGON
 Standard key for looking up the valid polygon. More...
 
static typehandling::Key< std::string, std::shared_ptr< CoaddInputs const > > const KEY_COADD_INPUTS
 Standard key for looking up coadd provenance catalogs. More...
 
static typehandling::Key< std::string, std::shared_ptr< ApCorrMap const > > const KEY_AP_CORR_MAP
 Standard key for looking up the aperture correction map. More...
 
static typehandling::Key< std::string, std::shared_ptr< TransmissionCurve const > > const KEY_TRANSMISSION_CURVE
 Standard key for looking up the transmission curve. More...
 

Friends

template<typename ImageT , typename MaskT , typename VarianceT >
class Exposure
 

Detailed Description

A collection of all the things that make an Exposure different from a MaskedImage.

The constness semantics of the things held by ExposureInfo are admittedly a bit of a mess, but they're that way to preserve backwards compatibility for now. Eventually I'd like to make a lot of these things immutable, but in the meantime, here's the summary:

The setter for Wcs clones its input arguments (this is a departure from the previous behavior for Wcs but it's safer w.r.t. aliasing and it matches the old (and current) behavior of the Exposure and ExposureInfo constructors, which clone their arguments. The setter for Psf and constructors do not clone the Psf, as Psfs are immutable and hence we don't need to ensure strict ownership. The setter for Detector does not clone its input argument, because while it technically isn't, we can safely consider a Detector to be immutable once it's attached to an ExposureInfo.

Definition at line 86 of file ExposureInfo.h.

Constructor & Destructor Documentation

◆ ExposureInfo() [1/4]

lsst::afw::image::ExposureInfo::ExposureInfo ( std::shared_ptr< geom::SkyWcs const > const &  wcs = std::shared_ptr<geom::SkyWcs const>(),
std::shared_ptr< detection::Psf const > const &  psf = std::shared_ptr<detection::Psf const>(),
std::shared_ptr< PhotoCalib const > const &  photoCalib = std::shared_ptr<PhotoCalib const>(),
std::shared_ptr< cameraGeom::Detector const > const &  detector = std::shared_ptr<cameraGeom::Detector const>(),
std::shared_ptr< geom::polygon::Polygon const > const &  polygon = std::shared_ptr<geom::polygon::Polygon const>(),
Filter const &  filter = Filter(),
std::shared_ptr< daf::base::PropertySet > const &  metadata = std::shared_ptr<daf::base::PropertySet>(),
std::shared_ptr< CoaddInputs > const &  coaddInputs = std::shared_ptr<CoaddInputs>(),
std::shared_ptr< ApCorrMap > const &  apCorrMap = std::shared_ptr<ApCorrMap>(),
std::shared_ptr< image::VisitInfo const > const &  visitInfo = std::shared_ptr<image::VisitInfo const>(),
std::shared_ptr< TransmissionCurve const > const &  transmissionCurve = std::shared_ptr<TransmissionCurve>() 
)
explicit

Construct an ExposureInfo from its various components.

If a null PhotoCalib and/or PropertySet pointer is passed (the default), a new PhotoCalib and/or PropertyList will be created. To set these pointers to null, you must explicitly call setPhotoCalib or setMetadata after construction.

Definition at line 153 of file ExposureInfo.cc.

163  : _filter(filter),
164  _metadata(metadata ? metadata
165  : std::shared_ptr<daf::base::PropertySet>(new daf::base::PropertyList())),
166  _visitInfo(visitInfo),
167  _components(std::make_unique<MapClass>()) {
168  setWcs(wcs);
169  setPsf(psf);
170  setPhotoCalib(photoCalib);
171  setDetector(detector);
172  setValidPolygon(polygon);
173  setCoaddInputs(coaddInputs);
174  setApCorrMap(_cloneApCorrMap(apCorrMap));
175  setTransmissionCurve(transmissionCurve);
176 }
void setWcs(std::shared_ptr< geom::SkyWcs const > wcs)
Set the WCS of the exposure.
Definition: ExposureInfo.cc:56
void setDetector(std::shared_ptr< cameraGeom::Detector const > detector)
Set the exposure&#39;s Detector information.
Definition: ExposureInfo.cc:83
void setValidPolygon(std::shared_ptr< geom::polygon::Polygon const > polygon)
Set the exposure&#39;s valid Polygon.
Definition: ExposureInfo.cc:95
void setPsf(std::shared_ptr< detection::Psf const > psf)
Set the exposure&#39;s point-spread function.
Definition: ExposureInfo.cc:63
void setTransmissionCurve(std::shared_ptr< TransmissionCurve const > tc)
Set the exposure&#39;s transmission curve.
void setPhotoCalib(std::shared_ptr< PhotoCalib const > photoCalib)
Set the Exposure&#39;s PhotoCalib object.
Definition: ExposureInfo.cc:72
void setCoaddInputs(std::shared_ptr< CoaddInputs const > coaddInputs)
Set the exposure&#39;s coadd provenance catalogs.
void setApCorrMap(std::shared_ptr< ApCorrMap const > apCorrMap)
Set the exposure&#39;s aperture correction map (null pointer if !hasApCorrMap())

◆ ExposureInfo() [2/4]

lsst::afw::image::ExposureInfo::ExposureInfo ( ExposureInfo const &  other)

Copy constructor; shares all components except the filter.

Definition at line 178 of file ExposureInfo.cc.

178 : ExposureInfo(other, false) {}
ItemVariant const * other
Definition: Schema.cc:56
ExposureInfo(std::shared_ptr< geom::SkyWcs const > const &wcs=std::shared_ptr< geom::SkyWcs const >(), std::shared_ptr< detection::Psf const > const &psf=std::shared_ptr< detection::Psf const >(), std::shared_ptr< PhotoCalib const > const &photoCalib=std::shared_ptr< PhotoCalib const >(), std::shared_ptr< cameraGeom::Detector const > const &detector=std::shared_ptr< cameraGeom::Detector const >(), std::shared_ptr< geom::polygon::Polygon const > const &polygon=std::shared_ptr< geom::polygon::Polygon const >(), Filter const &filter=Filter(), std::shared_ptr< daf::base::PropertySet > const &metadata=std::shared_ptr< daf::base::PropertySet >(), std::shared_ptr< CoaddInputs > const &coaddInputs=std::shared_ptr< CoaddInputs >(), std::shared_ptr< ApCorrMap > const &apCorrMap=std::shared_ptr< ApCorrMap >(), std::shared_ptr< image::VisitInfo const > const &visitInfo=std::shared_ptr< image::VisitInfo const >(), std::shared_ptr< TransmissionCurve const > const &transmissionCurve=std::shared_ptr< TransmissionCurve >())
Construct an ExposureInfo from its various components.

◆ ExposureInfo() [3/4]

lsst::afw::image::ExposureInfo::ExposureInfo ( ExposureInfo &&  other)

Definition at line 181 of file ExposureInfo.cc.

181 : ExposureInfo(other) {}
ItemVariant const * other
Definition: Schema.cc:56
ExposureInfo(std::shared_ptr< geom::SkyWcs const > const &wcs=std::shared_ptr< geom::SkyWcs const >(), std::shared_ptr< detection::Psf const > const &psf=std::shared_ptr< detection::Psf const >(), std::shared_ptr< PhotoCalib const > const &photoCalib=std::shared_ptr< PhotoCalib const >(), std::shared_ptr< cameraGeom::Detector const > const &detector=std::shared_ptr< cameraGeom::Detector const >(), std::shared_ptr< geom::polygon::Polygon const > const &polygon=std::shared_ptr< geom::polygon::Polygon const >(), Filter const &filter=Filter(), std::shared_ptr< daf::base::PropertySet > const &metadata=std::shared_ptr< daf::base::PropertySet >(), std::shared_ptr< CoaddInputs > const &coaddInputs=std::shared_ptr< CoaddInputs >(), std::shared_ptr< ApCorrMap > const &apCorrMap=std::shared_ptr< ApCorrMap >(), std::shared_ptr< image::VisitInfo const > const &visitInfo=std::shared_ptr< image::VisitInfo const >(), std::shared_ptr< TransmissionCurve const > const &transmissionCurve=std::shared_ptr< TransmissionCurve >())
Construct an ExposureInfo from its various components.

◆ ExposureInfo() [4/4]

lsst::afw::image::ExposureInfo::ExposureInfo ( ExposureInfo const &  other,
bool  copyMetadata 
)

Copy constructor; shares everything but the filter and possibly the metadata.

Definition at line 183 of file ExposureInfo.cc.

184  : _filter(other._filter),
185  _metadata(other._metadata),
186  _visitInfo(other._visitInfo),
187  // ExposureInfos can (historically) share objects, but should each have their own pointers to them
188  _components(std::make_unique<MapClass>(*(other._components))) {
189  if (copyMetadata) _metadata = _metadata->deepCopy();
190 }
ItemVariant const * other
Definition: Schema.cc:56

◆ ~ExposureInfo()

lsst::afw::image::ExposureInfo::~ExposureInfo ( )
default

Member Function Documentation

◆ getApCorrMap()

std::shared_ptr< ApCorrMap const > lsst::afw::image::ExposureInfo::getApCorrMap ( ) const

Return the exposure's aperture correction map (null pointer if !hasApCorrMap())

Definition at line 114 of file ExposureInfo.cc.

114 { return getComponent(KEY_AP_CORR_MAP); }
std::shared_ptr< T > getComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key) const
Retrieve a generic component from the ExposureInfo.
Definition: ExposureInfo.h:267
static typehandling::Key< std::string, std::shared_ptr< ApCorrMap const > > const KEY_AP_CORR_MAP
Standard key for looking up the aperture correction map.
Definition: ExposureInfo.h:102

◆ getCoaddInputs()

std::shared_ptr< CoaddInputs const > lsst::afw::image::ExposureInfo::getCoaddInputs ( ) const

Return a pair of catalogs that record the inputs, if this Exposure is a coadd (otherwise null).

Definition at line 106 of file ExposureInfo.cc.

106  {
108 }
std::shared_ptr< T > getComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key) const
Retrieve a generic component from the ExposureInfo.
Definition: ExposureInfo.h:267
static typehandling::Key< std::string, std::shared_ptr< CoaddInputs const > > const KEY_COADD_INPUTS
Standard key for looking up coadd provenance catalogs.
Definition: ExposureInfo.h:100

◆ getComponent()

template<class T >
std::shared_ptr<T> lsst::afw::image::ExposureInfo::getComponent ( typehandling::Key< std::string, std::shared_ptr< T >> const &  key) const
inline

Retrieve a generic component from the ExposureInfo.

Parameters
keya strongly typed identifier for the component
Returns
the component identified by that key, or a null pointer if no such component exists.
Exception Safety
Provides strong exception safety.

Definition at line 267 of file ExposureInfo.h.

267  {
268  try {
269  return _components->at(key);
270  } catch (pex::exceptions::OutOfRangeError const& e) {
271  return nullptr;
272  }
273  }
Key< U > key
Definition: Schema.cc:281

◆ getDetector()

std::shared_ptr< cameraGeom::Detector const > lsst::afw::image::ExposureInfo::getDetector ( ) const

Return the exposure's Detector information.

Definition at line 80 of file ExposureInfo.cc.

80  {
81  return getComponent(KEY_DETECTOR);
82 }
std::shared_ptr< T > getComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key) const
Retrieve a generic component from the ExposureInfo.
Definition: ExposureInfo.h:267
static typehandling::Key< std::string, std::shared_ptr< cameraGeom::Detector const > > const KEY_DETECTOR
Standard key for looking up the detector information.
Definition: ExposureInfo.h:95

◆ getFilter()

Filter lsst::afw::image::ExposureInfo::getFilter ( ) const
inline

Return the exposure's filter.

Definition at line 126 of file ExposureInfo.h.

126 { return _filter; }

◆ getFitsSerializationVersion()

int lsst::afw::image::ExposureInfo::getFitsSerializationVersion ( )
static

Get the version of FITS serialization that this ExposureInfo understands.

Definition at line 131 of file ExposureInfo.cc.

131  {
132  // Version history:
133  // unversioned and 0: photometric calibration via Calib, WCS via SkyWcs using AST.
134  // 1: photometric calibration via PhotoCalib
135  static int const version = 1;
136  return version;
137 }
table::Key< int > version
Definition: PhotoCalib.cc:374

◆ getFitsSerializationVersionName()

std::string const & lsst::afw::image::ExposureInfo::getFitsSerializationVersionName ( )
static

Get the version of FITS serialization version info name.

Definition at line 139 of file ExposureInfo.cc.

139  {
140  static std::string const versionName("EXPINFO_V");
141  return versionName;
142 }
STL class.

◆ getMetadata()

std::shared_ptr<daf::base::PropertySet> lsst::afw::image::ExposureInfo::getMetadata ( ) const
inline

Return flexible metadata.

Definition at line 141 of file ExposureInfo.h.

141 { return _metadata; }

◆ getPhotoCalib()

std::shared_ptr< PhotoCalib const > lsst::afw::image::ExposureInfo::getPhotoCalib ( ) const

Return the exposure's photometric calibration.

Definition at line 69 of file ExposureInfo.cc.

69  {
71 }
std::shared_ptr< T > getComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key) const
Retrieve a generic component from the ExposureInfo.
Definition: ExposureInfo.h:267
static typehandling::Key< std::string, std::shared_ptr< PhotoCalib const > > const KEY_PHOTO_CALIB
Standard key for looking up the photometric calibration.
Definition: ExposureInfo.h:93

◆ getPsf()

std::shared_ptr< detection::Psf const > lsst::afw::image::ExposureInfo::getPsf ( ) const

Return the exposure's point-spread function.

Definition at line 62 of file ExposureInfo.cc.

62 { return getComponent(KEY_PSF); }
std::shared_ptr< T > getComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key) const
Retrieve a generic component from the ExposureInfo.
Definition: ExposureInfo.h:267
static typehandling::Key< std::string, std::shared_ptr< detection::Psf const > > const KEY_PSF
Standard key for looking up the point-spread function.
Definition: ExposureInfo.h:91

◆ getTransmissionCurve()

std::shared_ptr< TransmissionCurve const > lsst::afw::image::ExposureInfo::getTransmissionCurve ( ) const

Return the exposure's transmission curve.

Definition at line 124 of file ExposureInfo.cc.

124  {
126 }
std::shared_ptr< T > getComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key) const
Retrieve a generic component from the ExposureInfo.
Definition: ExposureInfo.h:267
static typehandling::Key< std::string, std::shared_ptr< TransmissionCurve const > > const KEY_TRANSMISSION_CURVE
Standard key for looking up the transmission curve.
Definition: ExposureInfo.h:105

◆ getValidPolygon()

std::shared_ptr< geom::polygon::Polygon const > lsst::afw::image::ExposureInfo::getValidPolygon ( ) const

Return the valid Polygon.

Definition at line 92 of file ExposureInfo.cc.

92  {
94 }
std::shared_ptr< T > getComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key) const
Retrieve a generic component from the ExposureInfo.
Definition: ExposureInfo.h:267
static typehandling::Key< std::string, std::shared_ptr< geom::polygon::Polygon const > > const KEY_VALID_POLYGON
Standard key for looking up the valid polygon.
Definition: ExposureInfo.h:98

◆ getVisitInfo()

std::shared_ptr<image::VisitInfo const> lsst::afw::image::ExposureInfo::getVisitInfo ( ) const
inline

Return the exposure's visit info.

Definition at line 191 of file ExposureInfo.h.

191 { return _visitInfo; }

◆ getWcs()

std::shared_ptr< geom::SkyWcs const > lsst::afw::image::ExposureInfo::getWcs ( ) const

Return the WCS of the exposure.

Definition at line 55 of file ExposureInfo.cc.

55 { return getComponent(KEY_WCS); }
std::shared_ptr< T > getComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key) const
Retrieve a generic component from the ExposureInfo.
Definition: ExposureInfo.h:267
static typehandling::Key< std::string, std::shared_ptr< geom::SkyWcs const > > const KEY_WCS
Standard key for looking up the Wcs.
Definition: ExposureInfo.h:89

◆ hasApCorrMap()

bool lsst::afw::image::ExposureInfo::hasApCorrMap ( ) const

Return true if the exposure has an aperture correction map.

Definition at line 113 of file ExposureInfo.cc.

113 { return hasComponent(KEY_AP_CORR_MAP); }
static typehandling::Key< std::string, std::shared_ptr< ApCorrMap const > > const KEY_AP_CORR_MAP
Standard key for looking up the aperture correction map.
Definition: ExposureInfo.h:102
bool hasComponent(typehandling::Key< std::string, T > const &key) const
Test whether a generic component is defined.
Definition: ExposureInfo.h:253

◆ hasCoaddInputs()

bool lsst::afw::image::ExposureInfo::hasCoaddInputs ( ) const

Does this exposure have coadd provenance catalogs?

Definition at line 102 of file ExposureInfo.cc.

102 { return hasComponent(KEY_COADD_INPUTS); }
static typehandling::Key< std::string, std::shared_ptr< CoaddInputs const > > const KEY_COADD_INPUTS
Standard key for looking up coadd provenance catalogs.
Definition: ExposureInfo.h:100
bool hasComponent(typehandling::Key< std::string, T > const &key) const
Test whether a generic component is defined.
Definition: ExposureInfo.h:253

◆ hasComponent()

template<class T >
bool lsst::afw::image::ExposureInfo::hasComponent ( typehandling::Key< std::string, T > const &  key) const
inline

Test whether a generic component is defined.

Parameters
keya strongly typed identifier for the component
Returns
true if there is a component with key, false otherwise
Exception Safety
Provides strong exception safety.

Definition at line 253 of file ExposureInfo.h.

253  {
254  return _components->contains(key);
255  }
Key< U > key
Definition: Schema.cc:281

◆ hasDetector()

bool lsst::afw::image::ExposureInfo::hasDetector ( ) const

Does this exposure have Detector information?

Definition at line 79 of file ExposureInfo.cc.

79 { return hasComponent(KEY_DETECTOR); }
bool hasComponent(typehandling::Key< std::string, T > const &key) const
Test whether a generic component is defined.
Definition: ExposureInfo.h:253
static typehandling::Key< std::string, std::shared_ptr< cameraGeom::Detector const > > const KEY_DETECTOR
Standard key for looking up the detector information.
Definition: ExposureInfo.h:95

◆ hasPhotoCalib()

bool lsst::afw::image::ExposureInfo::hasPhotoCalib ( ) const

Does this exposure have a photometric calibration?

Definition at line 68 of file ExposureInfo.cc.

68 { return hasComponent(KEY_PHOTO_CALIB); }
static typehandling::Key< std::string, std::shared_ptr< PhotoCalib const > > const KEY_PHOTO_CALIB
Standard key for looking up the photometric calibration.
Definition: ExposureInfo.h:93
bool hasComponent(typehandling::Key< std::string, T > const &key) const
Test whether a generic component is defined.
Definition: ExposureInfo.h:253

◆ hasPsf()

bool lsst::afw::image::ExposureInfo::hasPsf ( ) const

Does this exposure have a Psf?

Definition at line 61 of file ExposureInfo.cc.

61 { return hasComponent(KEY_PSF); }
static typehandling::Key< std::string, std::shared_ptr< detection::Psf const > > const KEY_PSF
Standard key for looking up the point-spread function.
Definition: ExposureInfo.h:91
bool hasComponent(typehandling::Key< std::string, T > const &key) const
Test whether a generic component is defined.
Definition: ExposureInfo.h:253

◆ hasTransmissionCurve()

bool lsst::afw::image::ExposureInfo::hasTransmissionCurve ( ) const

Does this exposure have a transmission curve?

Definition at line 123 of file ExposureInfo.cc.

static typehandling::Key< std::string, std::shared_ptr< TransmissionCurve const > > const KEY_TRANSMISSION_CURVE
Standard key for looking up the transmission curve.
Definition: ExposureInfo.h:105
bool hasComponent(typehandling::Key< std::string, T > const &key) const
Test whether a generic component is defined.
Definition: ExposureInfo.h:253

◆ hasValidPolygon()

bool lsst::afw::image::ExposureInfo::hasValidPolygon ( ) const

Does this exposure have a valid Polygon.

Definition at line 91 of file ExposureInfo.cc.

static typehandling::Key< std::string, std::shared_ptr< geom::polygon::Polygon const > > const KEY_VALID_POLYGON
Standard key for looking up the valid polygon.
Definition: ExposureInfo.h:98
bool hasComponent(typehandling::Key< std::string, T > const &key) const
Test whether a generic component is defined.
Definition: ExposureInfo.h:253

◆ hasVisitInfo()

bool lsst::afw::image::ExposureInfo::hasVisitInfo ( ) const
inline

Does this exposure have visit info?

Definition at line 194 of file ExposureInfo.h.

194 { return static_cast<bool>(_visitInfo); }

◆ hasWcs()

bool lsst::afw::image::ExposureInfo::hasWcs ( ) const

Does this exposure have a Wcs?

Definition at line 54 of file ExposureInfo.cc.

54 { return hasComponent(KEY_WCS); }
static typehandling::Key< std::string, std::shared_ptr< geom::SkyWcs const > > const KEY_WCS
Standard key for looking up the Wcs.
Definition: ExposureInfo.h:89
bool hasComponent(typehandling::Key< std::string, T > const &key) const
Test whether a generic component is defined.
Definition: ExposureInfo.h:253

◆ initApCorrMap()

void lsst::afw::image::ExposureInfo::initApCorrMap ( )

Set the exposure's aperture correction map to a new, empty map.

Note that the ExposureInfo constructors do not create an empty aperture correction map, so this method provide a convenient way to initialize one before filling it.

Definition at line 205 of file ExposureInfo.cc.

205 { setApCorrMap(std::make_shared<ApCorrMap>()); }
void setApCorrMap(std::shared_ptr< ApCorrMap const > apCorrMap)
Set the exposure&#39;s aperture correction map (null pointer if !hasApCorrMap())

◆ operator=() [1/2]

ExposureInfo & lsst::afw::image::ExposureInfo::operator= ( ExposureInfo const &  other)

Assignment; shares all components except the filter.

Definition at line 192 of file ExposureInfo.cc.

192  {
193  if (&other != this) {
194  _filter = other._filter;
195  _metadata = other._metadata;
196  _visitInfo = other._visitInfo;
197  // ExposureInfos can (historically) share objects, but should each have their own pointers to them
198  _components = std::make_unique<MapClass>(*(other._components));
199  }
200  return *this;
201 }
ItemVariant const * other
Definition: Schema.cc:56

◆ operator=() [2/2]

ExposureInfo & lsst::afw::image::ExposureInfo::operator= ( ExposureInfo &&  other)

Definition at line 203 of file ExposureInfo.cc.

203 { return *this = other; }
ItemVariant const * other
Definition: Schema.cc:56

◆ removeComponent()

template<class T >
bool lsst::afw::image::ExposureInfo::removeComponent ( typehandling::Key< std::string, T > const &  key)
inline

Clear a generic component from the ExposureInfo.

Parameters
keya strongly typed identifier for the component. Only components of a compatible type are removed.
Returns
true if a component was removed, false otherwise.
Exception Safety
Provides strong exception safety.

Definition at line 285 of file ExposureInfo.h.

285  {
286  return _components->erase(key);
287  }
Key< U > key
Definition: Schema.cc:281

◆ setApCorrMap()

void lsst::afw::image::ExposureInfo::setApCorrMap ( std::shared_ptr< ApCorrMap const >  apCorrMap)

Set the exposure's aperture correction map (null pointer if !hasApCorrMap())

Definition at line 115 of file ExposureInfo.cc.

115  {
116  setComponent(KEY_AP_CORR_MAP, apCorrMap);
117 }
void setComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key, std::shared_ptr< T > const &object)
Add a generic component to the ExposureInfo.
Definition: ExposureInfo.h:233
static typehandling::Key< std::string, std::shared_ptr< ApCorrMap const > > const KEY_AP_CORR_MAP
Standard key for looking up the aperture correction map.
Definition: ExposureInfo.h:102

◆ setCoaddInputs()

void lsst::afw::image::ExposureInfo::setCoaddInputs ( std::shared_ptr< CoaddInputs const >  coaddInputs)

Set the exposure's coadd provenance catalogs.

Definition at line 103 of file ExposureInfo.cc.

103  {
104  setComponent(KEY_COADD_INPUTS, coaddInputs);
105 }
static typehandling::Key< std::string, std::shared_ptr< CoaddInputs const > > const KEY_COADD_INPUTS
Standard key for looking up coadd provenance catalogs.
Definition: ExposureInfo.h:100
void setComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key, std::shared_ptr< T > const &object)
Add a generic component to the ExposureInfo.
Definition: ExposureInfo.h:233

◆ setComponent()

template<class T >
void lsst::afw::image::ExposureInfo::setComponent ( typehandling::Key< std::string, std::shared_ptr< T >> const &  key,
std::shared_ptr< T > const &  object 
)
inline

Add a generic component to the ExposureInfo.

If another component is already present under the key, it is overwritten. If a component of a different type is present under the same name, this method raises an exception.

Template Parameters
Ta subclass of typehandling::Storable
Parameters
keya strongly typed identifier for the component
objectthe object to add.
Exceptions
pex::exceptions::TypeErrorThrown if a component of a different type is present under the requested name.
pex::exceptions::RuntimeErrorThrown if the insertion failed for implementation-dependent reasons.
Exception Safety
Provides basic exception safety (a pre-existing component may be removed).
Note
if object is a null pointer, then hasComponent(key) shall return false after this method returns. This is for compatibility with old ExposureInfo idioms, which often use assignment of null to indicate no data.

Definition at line 233 of file ExposureInfo.h.

234  {
235  static_assert(std::is_base_of<typehandling::Storable, T>::value, "T must be a Storable");
236  // "No data" always represented internally by absent key-value pair, not by mapping to null
237  if (object != nullptr) {
238  _setComponent(key, object);
239  } else {
241  }
242  }
bool removeComponent(typehandling::Key< std::string, T > const &key)
Clear a generic component from the ExposureInfo.
Definition: ExposureInfo.h:285
Key< U > key
Definition: Schema.cc:281

◆ setDetector()

void lsst::afw::image::ExposureInfo::setDetector ( std::shared_ptr< cameraGeom::Detector const >  detector)

Set the exposure's Detector information.

Definition at line 83 of file ExposureInfo.cc.

83  {
84  setComponent(KEY_DETECTOR, detector);
85 }
void setComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key, std::shared_ptr< T > const &object)
Add a generic component to the ExposureInfo.
Definition: ExposureInfo.h:233
static typehandling::Key< std::string, std::shared_ptr< cameraGeom::Detector const > > const KEY_DETECTOR
Standard key for looking up the detector information.
Definition: ExposureInfo.h:95

◆ setFilter()

void lsst::afw::image::ExposureInfo::setFilter ( Filter const &  filter)
inline

Set the exposure's filter.

Definition at line 129 of file ExposureInfo.h.

◆ setMetadata()

void lsst::afw::image::ExposureInfo::setMetadata ( std::shared_ptr< daf::base::PropertySet metadata)
inline

Set the flexible metadata.

Definition at line 144 of file ExposureInfo.h.

144 { _metadata = metadata; }

◆ setPhotoCalib()

void lsst::afw::image::ExposureInfo::setPhotoCalib ( std::shared_ptr< PhotoCalib const >  photoCalib)

Set the Exposure's PhotoCalib object.

Definition at line 72 of file ExposureInfo.cc.

72  {
73  setComponent(KEY_PHOTO_CALIB, photoCalib);
74 }
void setComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key, std::shared_ptr< T > const &object)
Add a generic component to the ExposureInfo.
Definition: ExposureInfo.h:233
static typehandling::Key< std::string, std::shared_ptr< PhotoCalib const > > const KEY_PHOTO_CALIB
Standard key for looking up the photometric calibration.
Definition: ExposureInfo.h:93

◆ setPsf()

void lsst::afw::image::ExposureInfo::setPsf ( std::shared_ptr< detection::Psf const >  psf)

Set the exposure's point-spread function.

Definition at line 63 of file ExposureInfo.cc.

63 { setComponent(KEY_PSF, psf); }
void setComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key, std::shared_ptr< T > const &object)
Add a generic component to the ExposureInfo.
Definition: ExposureInfo.h:233
static typehandling::Key< std::string, std::shared_ptr< detection::Psf const > > const KEY_PSF
Standard key for looking up the point-spread function.
Definition: ExposureInfo.h:91

◆ setTransmissionCurve()

void lsst::afw::image::ExposureInfo::setTransmissionCurve ( std::shared_ptr< TransmissionCurve const >  tc)

Set the exposure's transmission curve.

Definition at line 127 of file ExposureInfo.cc.

127  {
129 }
static typehandling::Key< std::string, std::shared_ptr< TransmissionCurve const > > const KEY_TRANSMISSION_CURVE
Standard key for looking up the transmission curve.
Definition: ExposureInfo.h:105
void setComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key, std::shared_ptr< T > const &object)
Add a generic component to the ExposureInfo.
Definition: ExposureInfo.h:233

◆ setValidPolygon()

void lsst::afw::image::ExposureInfo::setValidPolygon ( std::shared_ptr< geom::polygon::Polygon const >  polygon)

Set the exposure's valid Polygon.

Definition at line 95 of file ExposureInfo.cc.

95  {
97 }
static typehandling::Key< std::string, std::shared_ptr< geom::polygon::Polygon const > > const KEY_VALID_POLYGON
Standard key for looking up the valid polygon.
Definition: ExposureInfo.h:98
void setComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key, std::shared_ptr< T > const &object)
Add a generic component to the ExposureInfo.
Definition: ExposureInfo.h:233

◆ setVisitInfo()

void lsst::afw::image::ExposureInfo::setVisitInfo ( std::shared_ptr< image::VisitInfo const > const  visitInfo)
inline

Set the exposure's visit info.

Definition at line 197 of file ExposureInfo.h.

197 { _visitInfo = visitInfo; }
Key< int > visitInfo
Definition: Exposure.cc:70

◆ setWcs()

void lsst::afw::image::ExposureInfo::setWcs ( std::shared_ptr< geom::SkyWcs const >  wcs)

Set the WCS of the exposure.

Definition at line 56 of file ExposureInfo.cc.

56 { setComponent(KEY_WCS, wcs); }
void setComponent(typehandling::Key< std::string, std::shared_ptr< T >> const &key, std::shared_ptr< T > const &object)
Add a generic component to the ExposureInfo.
Definition: ExposureInfo.h:233
static typehandling::Key< std::string, std::shared_ptr< geom::SkyWcs const > > const KEY_WCS
Standard key for looking up the Wcs.
Definition: ExposureInfo.h:89

Friends And Related Function Documentation

◆ Exposure

template<typename ImageT , typename MaskT , typename VarianceT >
friend class Exposure
friend

Definition at line 336 of file ExposureInfo.h.

Member Data Documentation

◆ KEY_AP_CORR_MAP

typehandling::Key< std::string, std::shared_ptr< ApCorrMap const > > const lsst::afw::image::ExposureInfo::KEY_AP_CORR_MAP
static
Initial value:
=
typehandling::makeKey<std::shared_ptr<ApCorrMap const>>("AP_CORR_MAP"s)

Standard key for looking up the aperture correction map.

Definition at line 102 of file ExposureInfo.h.

◆ KEY_COADD_INPUTS

typehandling::Key< std::string, std::shared_ptr< CoaddInputs const > > const lsst::afw::image::ExposureInfo::KEY_COADD_INPUTS
static
Initial value:
=
typehandling::makeKey<std::shared_ptr<CoaddInputs const>>("COADD_INPUTS"s)

Standard key for looking up coadd provenance catalogs.

Definition at line 100 of file ExposureInfo.h.

◆ KEY_DETECTOR

typehandling::Key< std::string, std::shared_ptr< cameraGeom::Detector const > > const lsst::afw::image::ExposureInfo::KEY_DETECTOR
static
Initial value:
=
typehandling::makeKey<std::shared_ptr<cameraGeom::Detector const>>("DETECTOR"s)

Standard key for looking up the detector information.

Definition at line 95 of file ExposureInfo.h.

◆ KEY_PHOTO_CALIB

typehandling::Key< std::string, std::shared_ptr< PhotoCalib const > > const lsst::afw::image::ExposureInfo::KEY_PHOTO_CALIB
static
Initial value:
=
typehandling::makeKey<std::shared_ptr<PhotoCalib const>>("PHOTOCALIB"s)

Standard key for looking up the photometric calibration.

Definition at line 93 of file ExposureInfo.h.

◆ KEY_PSF

typehandling::Key< std::string, std::shared_ptr< detection::Psf const > > const lsst::afw::image::ExposureInfo::KEY_PSF
static
Initial value:
=
typehandling::makeKey<std::shared_ptr<detection::Psf const>>("PSF"s)

Standard key for looking up the point-spread function.

Definition at line 91 of file ExposureInfo.h.

◆ KEY_TRANSMISSION_CURVE

typehandling::Key< std::string, std::shared_ptr< TransmissionCurve const > > const lsst::afw::image::ExposureInfo::KEY_TRANSMISSION_CURVE
static
Initial value:
=
typehandling::makeKey<std::shared_ptr<TransmissionCurve const>>("TRANSMISSION_CURVE"s)

Standard key for looking up the transmission curve.

Definition at line 105 of file ExposureInfo.h.

◆ KEY_VALID_POLYGON

typehandling::Key< std::string, std::shared_ptr< geom::polygon::Polygon const > > const lsst::afw::image::ExposureInfo::KEY_VALID_POLYGON
static
Initial value:
=
typehandling::makeKey<std::shared_ptr<geom::polygon::Polygon const>>("VALID_POLYGON"s)

Standard key for looking up the valid polygon.

Definition at line 98 of file ExposureInfo.h.

◆ KEY_WCS

typehandling::Key< std::string, std::shared_ptr< geom::SkyWcs const > > const lsst::afw::image::ExposureInfo::KEY_WCS
static
Initial value:
=
typehandling::makeKey<std::shared_ptr<geom::SkyWcs const>>("SKYWCS"s)

Standard key for looking up the Wcs.

Definition at line 89 of file ExposureInfo.h.


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