LSST Applications g063fba187b+cac8b7c890,g0f08755f38+6aee506743,g1653933729+a8ce1bb630,g168dd56ebc+a8ce1bb630,g1a2382251a+b4475c5878,g1dcb35cd9c+8f9bc1652e,g20f6ffc8e0+6aee506743,g217e2c1bcf+73dee94bd0,g28da252d5a+1f19c529b9,g2bbee38e9b+3f2625acfc,g2bc492864f+3f2625acfc,g3156d2b45e+6e55a43351,g32e5bea42b+1bb94961c2,g347aa1857d+3f2625acfc,g35bb328faa+a8ce1bb630,g3a166c0a6a+3f2625acfc,g3e281a1b8c+c5dd892a6c,g3e8969e208+a8ce1bb630,g414038480c+5927e1bc1e,g41af890bb2+8a9e676b2a,g7af13505b9+809c143d88,g80478fca09+6ef8b1810f,g82479be7b0+f568feb641,g858d7b2824+6aee506743,g89c8672015+f4add4ffd5,g9125e01d80+a8ce1bb630,ga5288a1d22+2903d499ea,gb58c049af0+d64f4d3760,gc28159a63d+3f2625acfc,gcab2d0539d+b12535109e,gcf0d15dbbd+46a3f46ba9,gda6a2b7d83+46a3f46ba9,gdaeeff99f8+1711a396fd,ge79ae78c31+3f2625acfc,gef2f8181fd+0a71e47438,gf0baf85859+c1f95f4921,gfa517265be+6aee506743,gfa999e8aa5+17cd334064,w.2024.51
LSST Data Management Base Package
Loading...
Searching...
No Matches
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 hasId () const noexcept
 Does this Exposure have an exposure id?
 
table::RecordId getId () const
 Return the exposure ID.
 
void setId (table::RecordId id)
 Set the exposure ID.
 
void clearId () noexcept
 Unset the exposure ID, if any.
 
bool hasWcs () const
 Does this exposure have a Wcs?
 
std::shared_ptr< geom::SkyWcs const > getWcs () const
 Return the WCS of the exposure.
 
void setWcs (std::shared_ptr< geom::SkyWcs const > wcs)
 Set the WCS of the exposure.
 
bool hasDetector () const
 Does this exposure have Detector information?
 
std::shared_ptr< cameraGeom::Detector const > getDetector () const
 Return the exposure's Detector information.
 
void setDetector (std::shared_ptr< cameraGeom::Detector const > detector)
 Set the exposure's Detector information.
 
bool hasFilter () const
 Does this exposure have filter information?
 
std::shared_ptr< FilterLabel const > getFilter () const
 Return the exposure's filter information.
 
void setFilter (std::shared_ptr< FilterLabel const > filter)
 Set the exposure's filter information.
 
bool hasPhotoCalib () const
 Does this exposure have a photometric calibration?
 
std::shared_ptr< PhotoCalib const > getPhotoCalib () const
 Return the exposure's photometric calibration.
 
void setPhotoCalib (std::shared_ptr< PhotoCalib const > photoCalib)
 Set the Exposure's PhotoCalib object.
 
std::shared_ptr< daf::base::PropertySetgetMetadata () const
 Return flexible metadata.
 
void setMetadata (std::shared_ptr< daf::base::PropertySet > metadata)
 Set the flexible metadata.
 
bool hasPsf () const
 Does this exposure have a Psf?
 
std::shared_ptr< detection::Psf const > getPsf () const
 Return the exposure's point-spread function.
 
void setPsf (std::shared_ptr< detection::Psf const > psf)
 Set the exposure's point-spread function.
 
bool hasValidPolygon () const
 Does this exposure have a valid Polygon.
 
std::shared_ptr< geom::polygon::Polygon const > getValidPolygon () const
 Return the valid Polygon.
 
void setValidPolygon (std::shared_ptr< geom::polygon::Polygon const > polygon)
 Set the exposure's valid Polygon.
 
bool hasApCorrMap () const
 Return true if the exposure has an aperture correction map.
 
std::shared_ptr< ApCorrMap const > getApCorrMap () const
 Return the exposure's aperture correction map (null pointer if !hasApCorrMap())
 
void setApCorrMap (std::shared_ptr< ApCorrMap const > apCorrMap)
 Set the exposure's aperture correction map (null pointer if !hasApCorrMap())
 
bool hasCoaddInputs () const
 Does this exposure have coadd provenance catalogs?
 
void setCoaddInputs (std::shared_ptr< CoaddInputs const > coaddInputs)
 Set the exposure's coadd provenance catalogs.
 
std::shared_ptr< CoaddInputs const > getCoaddInputs () const
 Return a pair of catalogs that record the inputs, if this Exposure is a coadd (otherwise null).
 
std::shared_ptr< image::VisitInfo const > getVisitInfo () const
 Return the exposure's visit info.
 
bool hasVisitInfo () const
 Does this exposure have visit info?
 
void setVisitInfo (std::shared_ptr< image::VisitInfo const > const visitInfo)
 Set the exposure's visit info.
 
bool hasTransmissionCurve () const
 Does this exposure have a transmission curve?
 
std::shared_ptr< TransmissionCurve const > getTransmissionCurve () const
 Return the exposure's transmission curve.
 
void setTransmissionCurve (std::shared_ptr< TransmissionCurve const > tc)
 Set the exposure's transmission curve.
 
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.
 
template<class T >
bool hasComponent (typehandling::Key< std::string, T > const &key) const
 Test whether a generic component is defined.
 
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.
 
template<class T >
bool removeComponent (typehandling::Key< std::string, T > const &key)
 Clear a generic component from the 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 >(), 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 (ExposureInfo const &other)
 Copy constructor; shares all components.
 
 ExposureInfo (ExposureInfo &&other)
 
 ExposureInfo (ExposureInfo const &other, bool copyMetadata)
 Copy constructor; shares everything except possibly the metadata.
 
ExposureInfooperator= (ExposureInfo const &other)
 Assignment; shares all components.
 
ExposureInfooperator= (ExposureInfo &&other)
 
 ~ExposureInfo ()
 

Static Public Member Functions

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

Static Public Attributes

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

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 88 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>(),
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 174 of file ExposureInfo.cc.

184 : _exposureId(),
185 _metadata(metadata ? metadata
186 : std::shared_ptr<daf::base::PropertySet>(new daf::base::PropertyList())),
187 _visitInfo(visitInfo),
188 _components(std::make_unique<MapClass>()) {
189 setWcs(wcs);
190 setPsf(psf);
191 setPhotoCalib(photoCalib);
192 setDetector(detector);
193 setValidPolygon(polygon);
194 setCoaddInputs(coaddInputs);
195 setApCorrMap(_cloneApCorrMap(apCorrMap));
197}
void setValidPolygon(std::shared_ptr< geom::polygon::Polygon const > polygon)
Set the exposure's valid Polygon.
void setWcs(std::shared_ptr< geom::SkyWcs const > wcs)
Set the WCS of the exposure.
void setApCorrMap(std::shared_ptr< ApCorrMap const > apCorrMap)
Set the exposure's aperture correction map (null pointer if !hasApCorrMap())
void setPhotoCalib(std::shared_ptr< PhotoCalib const > photoCalib)
Set the Exposure's PhotoCalib object.
void setCoaddInputs(std::shared_ptr< CoaddInputs const > coaddInputs)
Set the exposure's coadd provenance catalogs.
void setDetector(std::shared_ptr< cameraGeom::Detector const > detector)
Set the exposure's Detector information.
void setPsf(std::shared_ptr< detection::Psf const > psf)
Set the exposure's point-spread function.
void setTransmissionCurve(std::shared_ptr< TransmissionCurve const > tc)
Set the exposure's transmission curve.
STL namespace.
Key< int > psf
Definition Exposure.cc:65
Key< int > visitInfo
Definition Exposure.cc:70
Key< int > transmissionCurve
Definition Exposure.cc:71
Key< int > apCorrMap
Definition Exposure.cc:68

◆ ExposureInfo() [2/4]

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

Copy constructor; shares all components.

Definition at line 199 of file ExposureInfo.cc.

199: ExposureInfo(other, false) {}
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 >(), 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 202 of file ExposureInfo.cc.

202: ExposureInfo(other) {}

◆ ExposureInfo() [4/4]

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

Copy constructor; shares everything except possibly the metadata.

Definition at line 204 of file ExposureInfo.cc.

205 : _exposureId(other._exposureId),
206 _metadata(other._metadata),
207 _visitInfo(other._visitInfo),
208 // ExposureInfos can (historically) share objects, but should each have their own pointers to them
209 _components(std::make_unique<MapClass>(*(other._components))) {
210 if (copyMetadata) _metadata = _metadata->deepCopy();
211}

◆ ~ExposureInfo()

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

Member Function Documentation

◆ clearId()

void lsst::afw::image::ExposureInfo::clearId ( )
noexcept

Unset the exposure ID, if any.

Definition at line 143 of file ExposureInfo.cc.

143{ _exposureId.reset(); }

◆ 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.
static typehandling::Key< std::string, std::shared_ptr< ApCorrMap const > > const KEY_AP_CORR_MAP
Standard key for looking up the aperture correction map.

◆ 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}
static typehandling::Key< std::string, std::shared_ptr< CoaddInputs const > > const KEY_COADD_INPUTS
Standard key for looking up coadd provenance catalogs.

◆ 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 301 of file ExposureInfo.h.

301 {
302 try {
303 return _components->at(key);
304 } catch (pex::exceptions::OutOfRangeError const& e) {
305 return nullptr;
306 }
307 }

◆ 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 {
82}
static typehandling::Key< std::string, std::shared_ptr< cameraGeom::Detector const > > const KEY_DETECTOR
Standard key for looking up the detector information.

◆ getFilter()

std::shared_ptr< FilterLabel const > lsst::afw::image::ExposureInfo::getFilter ( ) const

Return the exposure's filter information.

Definition at line 148 of file ExposureInfo.cc.

148{ return getComponent(KEY_FILTER); }
static typehandling::Key< std::string, std::shared_ptr< FilterLabel const > > const KEY_FILTER
Standard key for looking up filter information.

◆ getFitsSerializationVersion()

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

Get the version of FITS serialization that this ExposureInfo understands.

Definition at line 151 of file ExposureInfo.cc.

151 {
152 // Version history:
153 // unversioned and 0: photometric calibration via Calib, WCS via SkyWcs using AST.
154 // 1: photometric calibration via PhotoCalib, generic components
155 // 2: remove Filter, replaced with (generic) FilterLabel
156 static int const version = 2;
157 return version;
158}

◆ getFitsSerializationVersionName()

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

Get the version of FITS serialization version info name.

Definition at line 160 of file ExposureInfo.cc.

160 {
161 static std::string const versionName("EXPINFO_V");
162 return versionName;
163}

◆ getId()

table::RecordId lsst::afw::image::ExposureInfo::getId ( ) const

Return the exposure ID.

Exposure IDs are unique per single-detector image, not per on-sky shutter opening.

Returns
The ID.
Exceptions
lsst::pex::exceptions::NotFoundErrorThrown if the exposure does not have an ID.

Definition at line 133 of file ExposureInfo.cc.

133 {
134 if (_exposureId) {
135 return *_exposureId;
136 } else {
137 throw LSST_EXCEPT(lsst::pex::exceptions::NotFoundError, "Exposure does not have an ID.");
138 }
139}
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition Exception.h:48
Reports attempts to access elements using an invalid key.
Definition Runtime.h:151

◆ getMetadata()

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

Return flexible metadata.

Definition at line 183 of file ExposureInfo.h.

183{ 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}
static typehandling::Key< std::string, std::shared_ptr< PhotoCalib const > > const KEY_PHOTO_CALIB
Standard key for looking up the photometric calibration.

◆ 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); }
static typehandling::Key< std::string, std::shared_ptr< detection::Psf const > > const KEY_PSF
Standard key for looking up the point-spread function.

◆ 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}
static typehandling::Key< std::string, std::shared_ptr< TransmissionCurve const > > const KEY_TRANSMISSION_CURVE
Standard key for looking up the transmission curve.

◆ 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}
static typehandling::Key< std::string, std::shared_ptr< geom::polygon::Polygon const > > const KEY_VALID_POLYGON
Standard key for looking up the valid polygon.

◆ getVisitInfo()

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

Return the exposure's visit info.

Definition at line 225 of file ExposureInfo.h.

225{ 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); }
static typehandling::Key< std::string, std::shared_ptr< geom::SkyWcs const > > const KEY_WCS
Standard key for looking up the Wcs.

◆ 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); }
bool hasComponent(typehandling::Key< std::string, T > const &key) const
Test whether a generic component is defined.

◆ hasCoaddInputs()

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

Does this exposure have coadd provenance catalogs?

Definition at line 102 of file ExposureInfo.cc.

◆ 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 287 of file ExposureInfo.h.

287 {
288 return _components->contains(key);
289 }

◆ 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); }

◆ hasFilter()

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

Does this exposure have filter information?

Definition at line 147 of file ExposureInfo.cc.

147{ return hasComponent(KEY_FILTER); }

◆ hasId()

bool lsst::afw::image::ExposureInfo::hasId ( ) const
noexcept

Does this Exposure have an exposure id?

Exposure IDs are unique per single-detector image, not per on-sky shutter opening. Some Exposures, such as coadds, do not have an ID.

Returns
Whether or not this exposure has a defined ID.

Definition at line 131 of file ExposureInfo.cc.

131{ return _exposureId.has_value(); }

◆ hasPhotoCalib()

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

Does this exposure have a photometric calibration?

Definition at line 68 of file ExposureInfo.cc.

◆ 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); }

◆ hasTransmissionCurve()

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

Does this exposure have a transmission curve?

Definition at line 123 of file ExposureInfo.cc.

◆ hasValidPolygon()

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

Does this exposure have a valid Polygon.

Definition at line 91 of file ExposureInfo.cc.

◆ hasVisitInfo()

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

Does this exposure have visit info?

Definition at line 228 of file ExposureInfo.h.

228{ 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); }

◆ operator=() [1/2]

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

Definition at line 224 of file ExposureInfo.cc.

224{ return *this = other; }

◆ operator=() [2/2]

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

Assignment; shares all components.

Definition at line 213 of file ExposureInfo.cc.

213 {
214 if (&other != this) {
215 _exposureId = other._exposureId;
216 _metadata = other._metadata;
217 _visitInfo = other._visitInfo;
218 // ExposureInfos can (historically) share objects, but should each have their own pointers to them
219 _components = std::make_unique<MapClass>(*(other._components));
220 }
221 return *this;
222}

◆ 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 319 of file ExposureInfo.h.

319 {
320 return _components->erase(key);
321 }

◆ 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 {
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.

◆ 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}

◆ 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 267 of file ExposureInfo.h.

268 {
269 static_assert(std::is_base_of<typehandling::Storable, T>::value, "T must be a Storable");
270 // "No data" always represented internally by absent key-value pair, not by mapping to null
271 if (object != nullptr) {
272 _setComponent(key, object);
273 } else {
274 removeComponent(key);
275 }
276 }
bool removeComponent(typehandling::Key< std::string, T > const &key)
Clear a generic component from the ExposureInfo.

◆ 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}

◆ setFilter()

void lsst::afw::image::ExposureInfo::setFilter ( std::shared_ptr< FilterLabel const > filter)

Set the exposure's filter information.

Definition at line 149 of file ExposureInfo.cc.

149{ setComponent(KEY_FILTER, label); }

◆ setId()

void lsst::afw::image::ExposureInfo::setId ( table::RecordId id)

Set the exposure ID.

Exposure IDs are unique per single-detector image, not per on-sky shutter opening.

Parameters
idThe new exposure ID to set.

Definition at line 141 of file ExposureInfo.cc.

141{ _exposureId = id; }
table::Key< int > id
Definition Detector.cc:162

◆ setMetadata()

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

Set the flexible metadata.

Definition at line 186 of file ExposureInfo.h.

186{ _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}

◆ 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.

◆ 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}

◆ 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}

◆ 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 231 of file ExposureInfo.h.

231{ _visitInfo = visitInfo; }

◆ 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); }

Friends And Related Symbol Documentation

◆ Exposure

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

Definition at line 369 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 104 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 102 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 97 of file ExposureInfo.h.

◆ KEY_FILTER

typehandling::Key< std::string, std::shared_ptr< FilterLabel const > > const lsst::afw::image::ExposureInfo::KEY_FILTER
static
Initial value:
=
typehandling::makeKey<std::shared_ptr<FilterLabel const>>("FILTER"s)

Standard key for looking up filter information.

Definition at line 109 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 95 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 93 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 107 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 100 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 91 of file ExposureInfo.h.


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