LSSTApplications  1.1.2+25,10.0+13,10.0+132,10.0+133,10.0+224,10.0+41,10.0+8,10.0-1-g0f53050+14,10.0-1-g4b7b172+19,10.0-1-g61a5bae+98,10.0-1-g7408a83+3,10.0-1-gc1e0f5a+19,10.0-1-gdb4482e+14,10.0-11-g3947115+2,10.0-12-g8719d8b+2,10.0-15-ga3f480f+1,10.0-2-g4f67435,10.0-2-gcb4bc6c+26,10.0-28-gf7f57a9+1,10.0-3-g1bbe32c+14,10.0-3-g5b46d21,10.0-4-g027f45f+5,10.0-4-g86f66b5+2,10.0-4-gc4fccf3+24,10.0-40-g4349866+2,10.0-5-g766159b,10.0-5-gca2295e+25,10.0-6-g462a451+1
LSSTDataManagementBasePackage
Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
lsst.afw.image::ExposureInfo Class Reference

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

#include <ExposureInfo.h>

Classes

struct  FitsWriteData
 A struct passed back and forth between Exposure and ExposureInfo when writing FITS files. More...
 

Public Member Functions

bool hasWcs () const
 Does this exposure have a Wcs? More...
 
boost::shared_ptr< WcsgetWcs ()
 Return the coordinate system of the exposure. More...
 
boost::shared_ptr< Wcs const > getWcs () const
 Return the coordinate system of the exposure. More...
 
void setWcs (boost::shared_ptr< Wcs const > wcs)
 Set the coordinate system of the exposure. More...
 
bool hasDetector () const
 Does this exposure have Detector information? More...
 
boost::shared_ptr
< cameraGeom::Detector const > 
getDetector () const
 Return the exposure's Detector information. More...
 
void setDetector (boost::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 hasCalib () const
 Does this exposure have a Calib? More...
 
boost::shared_ptr< CalibgetCalib ()
 Return the exposure's photometric calibration. More...
 
boost::shared_ptr< Calib const > getCalib () const
 Return the exposure's photometric calibration. More...
 
void setCalib (boost::shared_ptr< Calib const > calib)
 Set the Exposure's Calib object. More...
 
boost::shared_ptr
< daf::base::PropertySet
getMetadata () const
 Return flexible metadata. More...
 
void setMetadata (boost::shared_ptr< daf::base::PropertySet > metadata)
 Set the flexible metadata. More...
 
bool hasPsf () const
 Does this exposure have a Psf? More...
 
boost::shared_ptr< detection::PsfgetPsf () const
 Return the exposure's point-spread function. More...
 
void setPsf (boost::shared_ptr< detection::Psf const > psf)
 Set the exposure's point-spread function. More...
 
bool hasCoaddInputs () const
 Does this exposure have coadd provenance catalogs? More...
 
void setCoaddInputs (boost::shared_ptr< CoaddInputs > coaddInputs)
 Set the exposure's coadd provenance catalogs. More...
 
boost::shared_ptr< CoaddInputsgetCoaddInputs () const
 Return a pair of catalogs that record the inputs, if this Exposure is a coadd (otherwise null). More...
 
 ExposureInfo (boost::shared_ptr< Wcs const > const &wcs=boost::shared_ptr< Wcs const >(), boost::shared_ptr< detection::Psf const > const &psf=boost::shared_ptr< detection::Psf const >(), boost::shared_ptr< Calib const > const &calib=boost::shared_ptr< Calib const >(), boost::shared_ptr< cameraGeom::Detector const > const &detector=boost::shared_ptr< cameraGeom::Detector const >(), Filter const &filter=Filter(), boost::shared_ptr< daf::base::PropertySet > const &metadata=boost::shared_ptr< daf::base::PropertySet >(), boost::shared_ptr< CoaddInputs > const &coaddInputs=boost::shared_ptr< CoaddInputs >())
 Construct an ExposureInfo from its various components. More...
 
 ExposureInfo (ExposureInfo const &other)
 Copy constructor; deep-copies all components except the metadata. More...
 
 ExposureInfo (ExposureInfo const &other, bool copyMetadata)
 Copy constructor; deep-copies everything, possibly including the metadata. More...
 
ExposureInfooperator= (ExposureInfo const &other)
 Assignment; deep-copies all components except the metadata. More...
 
 ~ExposureInfo ()
 

Private Member Functions

FitsWriteData _startWriteFits (geom::Point2I const &xy0=geom::Point2I()) const
 Start the process of writing an exposure to FITS. More...
 
void _finishWriteFits (fits::Fits &fitsfile, FitsWriteData const &data) const
 Write any additional non-image HDUs to a FITS file. More...
 
void _readFits (fits::Fits &fitsfile, boost::shared_ptr< daf::base::PropertySet > metadata, boost::shared_ptr< daf::base::PropertySet > imageMetadata)
 Read from a FITS file and metadata. More...
 

Static Private Member Functions

static boost::shared_ptr< Calib_cloneCalib (boost::shared_ptr< Calib const > calib)
 
static boost::shared_ptr< Wcs_cloneWcs (boost::shared_ptr< Wcs const > wcs)
 

Private Attributes

boost::shared_ptr< Wcs_wcs
 
boost::shared_ptr< detection::Psf_psf
 
boost::shared_ptr< Calib_calib
 
boost::shared_ptr
< cameraGeom::Detector const > 
_detector
 
Filter _filter
 
boost::shared_ptr
< daf::base::PropertySet
_metadata
 
boost::shared_ptr< CoaddInputs_coaddInputs
 

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 setters for Wcs and Calib clone their input arguments (this is a departure from the previous behavior for Calib and 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 75 of file ExposureInfo.h.

Constructor & Destructor Documentation

lsst.afw.image::ExposureInfo::ExposureInfo ( boost::shared_ptr< Wcs const > const &  wcs = boost::shared_ptr< Wcs const>(),
boost::shared_ptr< detection::Psf const > const &  psf = boost::shared_ptr< detection::Psf const>(),
boost::shared_ptr< Calib const > const &  calib = boost::shared_ptr< Calib const>(),
boost::shared_ptr< cameraGeom::Detector const > const &  detector = boost::shared_ptr< cameraGeom::Detector const>(),
Filter const &  filter = Filter(),
boost::shared_ptr< daf::base::PropertySet > const &  metadata = boost::shared_ptr< daf::base::PropertySet >(),
boost::shared_ptr< CoaddInputs > const &  coaddInputs = boost::shared_ptr< CoaddInputs >() 
)
explicit

Construct an ExposureInfo from its various components.

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

Definition at line 64 of file ExposureInfo.cc.

72  : _wcs(_cloneWcs(wcs)),
73  _psf(boost::const_pointer_cast<detection::Psf>(psf)),
74  _calib(calib ? _cloneCalib(calib) : PTR(Calib)(new Calib())),
75  _detector(detector),
76  _filter(filter),
77  _metadata(metadata ? metadata : PTR(daf::base::PropertySet)(new daf::base::PropertyList())),
78  _coaddInputs(coaddInputs)
79 {}
boost::shared_ptr< CoaddInputs > _coaddInputs
Definition: ExposureInfo.h:245
boost::shared_ptr< Wcs > _wcs
Definition: ExposureInfo.h:239
boost::shared_ptr< Calib > _calib
Definition: ExposureInfo.h:241
#define PTR(...)
Definition: base.h:41
lsst::daf::base::PropertyList PropertyList
Definition: Wcs.cc:58
boost::shared_ptr< daf::base::PropertySet > _metadata
Definition: ExposureInfo.h:244
lsst::daf::base::PropertySet PropertySet
Definition: Wcs.cc:57
boost::shared_ptr< cameraGeom::Detector const > _detector
Definition: ExposureInfo.h:242
static boost::shared_ptr< Wcs > _cloneWcs(boost::shared_ptr< Wcs const > wcs)
Definition: ExposureInfo.cc:58
static boost::shared_ptr< Calib > _cloneCalib(boost::shared_ptr< Calib const > calib)
Definition: ExposureInfo.cc:52
boost::shared_ptr< detection::Psf > _psf
Definition: ExposureInfo.h:240
lsst.afw.image::ExposureInfo::ExposureInfo ( ExposureInfo const &  other)

Copy constructor; deep-copies all components except the metadata.

Definition at line 81 of file ExposureInfo.cc.

81  :
82  _wcs(_cloneWcs(other._wcs)),
83  _psf(other._psf),
84  _calib(_cloneCalib(other._calib)),
85  _detector(other._detector),
86  _filter(other._filter),
87  _metadata(other._metadata),
88  _coaddInputs(other._coaddInputs)
89 {}
boost::shared_ptr< CoaddInputs > _coaddInputs
Definition: ExposureInfo.h:245
boost::shared_ptr< Wcs > _wcs
Definition: ExposureInfo.h:239
boost::shared_ptr< Calib > _calib
Definition: ExposureInfo.h:241
boost::shared_ptr< daf::base::PropertySet > _metadata
Definition: ExposureInfo.h:244
boost::shared_ptr< cameraGeom::Detector const > _detector
Definition: ExposureInfo.h:242
static boost::shared_ptr< Wcs > _cloneWcs(boost::shared_ptr< Wcs const > wcs)
Definition: ExposureInfo.cc:58
static boost::shared_ptr< Calib > _cloneCalib(boost::shared_ptr< Calib const > calib)
Definition: ExposureInfo.cc:52
boost::shared_ptr< detection::Psf > _psf
Definition: ExposureInfo.h:240
lsst.afw.image::ExposureInfo::ExposureInfo ( ExposureInfo const &  other,
bool  copyMetadata 
)

Copy constructor; deep-copies everything, possibly including the metadata.

Definition at line 91 of file ExposureInfo.cc.

91  :
92  _wcs(_cloneWcs(other._wcs)),
93  _psf(other._psf),
94  _calib(_cloneCalib(other._calib)),
95  _detector(other._detector),
96  _filter(other._filter),
97  _metadata(other._metadata),
98  _coaddInputs(other._coaddInputs)
99 {
100  if (copyMetadata) _metadata = _metadata->deepCopy();
101 }
boost::shared_ptr< CoaddInputs > _coaddInputs
Definition: ExposureInfo.h:245
boost::shared_ptr< Wcs > _wcs
Definition: ExposureInfo.h:239
boost::shared_ptr< Calib > _calib
Definition: ExposureInfo.h:241
boost::shared_ptr< daf::base::PropertySet > _metadata
Definition: ExposureInfo.h:244
boost::shared_ptr< cameraGeom::Detector const > _detector
Definition: ExposureInfo.h:242
static boost::shared_ptr< Wcs > _cloneWcs(boost::shared_ptr< Wcs const > wcs)
Definition: ExposureInfo.cc:58
static boost::shared_ptr< Calib > _cloneCalib(boost::shared_ptr< Calib const > calib)
Definition: ExposureInfo.cc:52
boost::shared_ptr< detection::Psf > _psf
Definition: ExposureInfo.h:240
lsst.afw.image::ExposureInfo::~ExposureInfo ( )

Definition at line 116 of file ExposureInfo.cc.

116 {}

Member Function Documentation

boost::shared_ptr< Calib > lsst.afw.image::ExposureInfo::_cloneCalib ( boost::shared_ptr< Calib const >  calib)
staticprivate

Definition at line 52 of file ExposureInfo.cc.

52  {
53  if (calib)
54  return PTR(Calib)(new Calib(*calib));
55  return PTR(Calib)();
56 }
#define PTR(...)
Definition: base.h:41
boost::shared_ptr< Wcs > lsst.afw.image::ExposureInfo::_cloneWcs ( boost::shared_ptr< Wcs const >  wcs)
staticprivate

Definition at line 58 of file ExposureInfo.cc.

58  {
59  if (wcs)
60  return wcs->clone();
61  return PTR(Wcs)();
62 }
Implementation of the WCS standard for a any projection.
Definition: Wcs.h:107
#define PTR(...)
Definition: base.h:41
void lsst.afw.image::ExposureInfo::_finishWriteFits ( fits::Fits fitsfile,
FitsWriteData const &  data 
) const
private

Write any additional non-image HDUs to a FITS file.

Parameters
[in]fitsfileOpen FITS object to write to. Does not need to be positioned to any particular HDU.

The additional HDUs will be appended to the FITS file, and should line up with the HDU index keys included in the result of getFitsMetadata() if this is called after writing the MaskedImage HDUs.

See Also
FitsWriteData

Definition at line 189 of file ExposureInfo.cc.

189  {
190  data.archive.writeFits(fitsfile);
191 }
void lsst.afw.image::ExposureInfo::_readFits ( fits::Fits fitsfile,
boost::shared_ptr< daf::base::PropertySet metadata,
boost::shared_ptr< daf::base::PropertySet imageMetadata 
)
private

Read from a FITS file and metadata.

This operates in-place on this instead of returning a new object, because it will usually only be called by the exposure constructor, which starts by default-constructing the ExposureInfo.

Definition at line 193 of file ExposureInfo.cc.

197  {
198  // true: strip keywords that are related to the created WCS from the input metadata
199  _wcs = makeWcs(imageMetadata, true);
200 
201  if (!imageMetadata->exists("INHERIT")) {
202  // New-style exposures put everything but the Wcs in the primary HDU, use
203  // INHERIT keyword in the others. For backwards compatibility, if we don't
204  // find the INHERIT keyword, we ignore the primary HDU metadata and expect
205  // everything to be in the image HDU metadata. Note that we can't merge them,
206  // because they're probably duplicates.
207  metadata = imageMetadata;
208  }
209 
210  _filter = Filter(metadata, true);
211  detail::stripFilterKeywords(metadata);
212 
213  PTR(Calib) newCalib(new Calib(metadata));
214  setCalib(newCalib);
215  detail::stripCalibKeywords(metadata);
216 
217  int archiveHdu = popInt(*metadata, "AR_HDU");
218 
219  if (archiveHdu) {
220  fitsfile.setHdu(archiveHdu);
221  table::io::InputArchive archive = table::io::InputArchive::readFits(fitsfile);
222  // Load the Psf and Wcs from the archive; id=0 results in a null pointer.
223  // Note that the binary table Wcs, if present, clobbers the FITS header one,
224  // because the former might be an approximation to something we can't represent
225  // using the FITS WCS standard but can represent with binary tables.
226  int psfId = popInt(*metadata, "PSF_ID");
227  try {
228  _psf = archive.get<detection::Psf>(psfId);
229  } catch (pex::exceptions::NotFoundError & err) {
231  boost::format("Could not read PSF; setting to null: %s") % err.what()
232  );
233  }
234  int wcsId = popInt(*metadata, "WCS_ID");
235  try {
236  _wcs = archive.get<Wcs>(wcsId);
237  } catch (pex::exceptions::NotFoundError & err) {
239  boost::format("Could not read WCS; setting to null: %s") % err.what()
240  );
241  }
242  int coaddInputsId = popInt(*metadata, "COADD_INPUTS_ID");
243  try {
244  _coaddInputs = archive.get<CoaddInputs>(coaddInputsId);
245  } catch (pex::exceptions::NotFoundError & err) {
247  boost::format("Could not read CoaddInputs; setting to null: %s") % err.what()
248  );
249  }
250  }
251 
252  _metadata = metadata;
253 }
boost::shared_ptr< CoaddInputs > _coaddInputs
Definition: ExposureInfo.h:245
boost::shared_ptr< Wcs > _wcs
Definition: ExposureInfo.h:239
static Log & getDefaultLog()
Implementation of the WCS standard for a any projection.
Definition: Wcs.h:107
#define PTR(...)
Definition: base.h:41
boost::shared_ptr< daf::base::PropertySet > _metadata
Definition: ExposureInfo.h:244
void warn(const std::string &message, const lsst::daf::base::PropertySet &properties)
Definition: Log.h:494
Wcs::Ptr makeWcs(boost::shared_ptr< lsst::daf::base::PropertySet > const &fitsMetadata, bool stripMetadata=false)
Definition: makeWcs.cc:39
void setCalib(boost::shared_ptr< Calib const > calib)
Set the Exposure&#39;s Calib object.
Definition: ExposureInfo.h:115
if(width!=gim.getWidth()||height!=gim.getHeight()||x0!=gim.getX0()||y0!=gim.getY0())
Definition: saturated.cc:47
int stripCalibKeywords(boost::shared_ptr< lsst::daf::base::PropertySet > metadata)
Definition: Calib.cc:159
static InputArchive readFits(fits::Fits &fitsfile)
Read an object from an already open FITS object.
int stripFilterKeywords(boost::shared_ptr< lsst::daf::base::PropertySet > metadata)
Definition: Filter.cc:167
A polymorphic base class for representing an image&#39;s Point Spread Function.
Definition: Psf.h:68
boost::shared_ptr< detection::Psf > _psf
Definition: ExposureInfo.h:240
ExposureInfo::FitsWriteData lsst.afw.image::ExposureInfo::_startWriteFits ( geom::Point2I const &  xy0 = geom::Point2I()) const
private

Start the process of writing an exposure to FITS.

Parameters
[in]xy0The origin of the exposure associated with this object, used to install a linear offset-only WCS in the FITS header.
See Also
FitsWriteData

We need to define these keywords properly! XXX

Definition at line 119 of file ExposureInfo.cc.

119  {
120 
121  FitsWriteData data;
122 
123  data.metadata.reset(new daf::base::PropertyList());
124  data.imageMetadata.reset(new daf::base::PropertyList());
125  data.maskMetadata = data.imageMetadata;
126  data.varianceMetadata = data.imageMetadata;
127 
128  data.metadata->combine(getMetadata());
129 
130  // In the future, we might not have exactly three image HDUs, but we always do right now,
131  // so 1=primary, 2=image, 3=mask, 4=variance, 5+=archive
132  data.metadata->set("AR_HDU", 5, "HDU containing the archive used to store ancillary objects");
133  if (hasCoaddInputs()) {
134  int coaddInputsId = data.archive.put(getCoaddInputs());
135  data.metadata->set("COADD_INPUTS_ID", coaddInputsId, "archive ID for coadd inputs catalogs");
136  }
137  if (hasPsf() && getPsf()->isPersistable()) {
138  int psfId = data.archive.put(getPsf());
139  data.metadata->set("PSF_ID", psfId, "archive ID for the Exposure's main Psf");
140  }
141  if (hasWcs() && getWcs()->isPersistable()) {
142  int wcsId = data.archive.put(getWcs());
143  data.metadata->set("WCS_ID", wcsId, "archive ID for the Exposure's main Wcs");
144  }
145 
146  //LSST convention is that Wcs is in pixel coordinates (i.e relative to bottom left
147  //corner of parent image, if any). The Wcs/Fits convention is that the Wcs is in
148  //image coordinates. When saving an image we convert from pixel to index coordinates.
149  //In the case where this image is a parent image, the reference pixels are unchanged
150  //by this transformation
151  if (hasWcs()) {
152  PTR(Wcs) newWcs = getWcs()->clone(); //Create a copy
153  newWcs->shiftReferencePixel(-xy0.getX(), -xy0.getY() );
154 
155  // We want the WCS to appear in all HDUs
156  data.imageMetadata->combine(newWcs->getFitsMetadata());
157  }
158 
159  //Store _x0 and _y0. If this exposure is a portion of a larger image, _x0 and _y0
160  //indicate the origin (the position of the bottom left corner) of the sub-image with
161  //respect to the origin of the parent image.
162  //This is stored in the fits header using the LTV convention used by STScI
163  //(see \S2.6.2 of HST Data Handbook for STIS, version 5.0
164  // http://www.stsci.edu/hst/stis/documents/handbooks/currentDHB/ch2_stis_data7.html#429287).
165  //This is not a fits standard keyword, but is recognised by ds9
166  //LTV keywords use the opposite convention to the LSST, in that they represent
167  //the position of the origin of the parent image relative to the origin of the sub-image.
168  // _x0, _y0 >= 0, while LTV1 and LTV2 <= 0
169 
170  data.imageMetadata->set("LTV1", -xy0.getX());
171  data.imageMetadata->set("LTV2", -xy0.getY());
172 
173  data.metadata->set("FILTER", getFilter().getName());
174  if (hasDetector()) {
175  data.metadata->set("DETNAME", getDetector()->getName());
176  data.metadata->set("DETSER", getDetector()->getSerial());
177  }
181  data.metadata->set("TIME-MID", getCalib()->getMidTime().toString());
182  data.metadata->set("EXPTIME", getCalib()->getExptime());
183  data.metadata->set("FLUXMAG0", getCalib()->getFluxMag0().first);
184  data.metadata->set("FLUXMAG0ERR", getCalib()->getFluxMag0().second);
185 
186  return data;
187 }
bool hasWcs() const
Does this exposure have a Wcs?
Definition: ExposureInfo.h:79
bool hasCoaddInputs() const
Does this exposure have coadd provenance catalogs?
Definition: ExposureInfo.h:137
Implementation of the WCS standard for a any projection.
Definition: Wcs.h:107
boost::shared_ptr< cameraGeom::Detector const > getDetector() const
Return the exposure&#39;s Detector information.
Definition: ExposureInfo.h:94
#define PTR(...)
Definition: base.h:41
lsst::daf::base::PropertyList PropertyList
Definition: Wcs.cc:58
boost::shared_ptr< daf::base::PropertySet > getMetadata() const
Return flexible metadata.
Definition: ExposureInfo.h:118
bool hasPsf() const
Does this exposure have a Psf?
Definition: ExposureInfo.h:124
boost::shared_ptr< Calib > getCalib()
Return the exposure&#39;s photometric calibration.
Definition: ExposureInfo.h:109
boost::shared_ptr< Wcs > getWcs()
Return the coordinate system of the exposure.
Definition: ExposureInfo.h:82
if(width!=gim.getWidth()||height!=gim.getHeight()||x0!=gim.getX0()||y0!=gim.getY0())
Definition: saturated.cc:47
boost::shared_ptr< detection::Psf > getPsf() const
Return the exposure&#39;s point-spread function.
Definition: ExposureInfo.h:127
boost::shared_ptr< CoaddInputs > getCoaddInputs() const
Return a pair of catalogs that record the inputs, if this Exposure is a coadd (otherwise null)...
Definition: ExposureInfo.h:143
Filter getFilter() const
Return the exposure&#39;s filter.
Definition: ExposureInfo.h:100
bool hasDetector() const
Does this exposure have Detector information?
Definition: ExposureInfo.h:91
boost::shared_ptr< Calib > lsst.afw.image::ExposureInfo::getCalib ( )
inline

Return the exposure's photometric calibration.

Definition at line 109 of file ExposureInfo.h.

109 { return _calib; }
boost::shared_ptr< Calib > _calib
Definition: ExposureInfo.h:241
boost::shared_ptr< Calib const> lsst.afw.image::ExposureInfo::getCalib ( ) const
inline

Return the exposure's photometric calibration.

Definition at line 112 of file ExposureInfo.h.

112 { return _calib; }
boost::shared_ptr< Calib > _calib
Definition: ExposureInfo.h:241
boost::shared_ptr< CoaddInputs > lsst.afw.image::ExposureInfo::getCoaddInputs ( ) const
inline

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

Definition at line 143 of file ExposureInfo.h.

143 { return _coaddInputs; }
boost::shared_ptr< CoaddInputs > _coaddInputs
Definition: ExposureInfo.h:245
boost::shared_ptr< cameraGeom::Detector const> lsst.afw.image::ExposureInfo::getDetector ( ) const
inline

Return the exposure's Detector information.

Definition at line 94 of file ExposureInfo.h.

94 { return _detector; }
boost::shared_ptr< cameraGeom::Detector const > _detector
Definition: ExposureInfo.h:242
Filter lsst.afw.image::ExposureInfo::getFilter ( ) const
inline

Return the exposure's filter.

Definition at line 100 of file ExposureInfo.h.

100 { return _filter; }
boost::shared_ptr< daf::base::PropertySet > lsst.afw.image::ExposureInfo::getMetadata ( ) const
inline

Return flexible metadata.

Definition at line 118 of file ExposureInfo.h.

118 { return _metadata; }
boost::shared_ptr< daf::base::PropertySet > _metadata
Definition: ExposureInfo.h:244
boost::shared_ptr< detection::Psf > lsst.afw.image::ExposureInfo::getPsf ( ) const
inline

Return the exposure's point-spread function.

Definition at line 127 of file ExposureInfo.h.

127 { return _psf; }
boost::shared_ptr< detection::Psf > _psf
Definition: ExposureInfo.h:240
boost::shared_ptr< Wcs > lsst.afw.image::ExposureInfo::getWcs ( )
inline

Return the coordinate system of the exposure.

Definition at line 82 of file ExposureInfo.h.

82 { return _wcs; }
boost::shared_ptr< Wcs > _wcs
Definition: ExposureInfo.h:239
boost::shared_ptr< Wcs const> lsst.afw.image::ExposureInfo::getWcs ( ) const
inline

Return the coordinate system of the exposure.

Definition at line 85 of file ExposureInfo.h.

85 { return _wcs; }
boost::shared_ptr< Wcs > _wcs
Definition: ExposureInfo.h:239
bool lsst.afw.image::ExposureInfo::hasCalib ( ) const
inline

Does this exposure have a Calib?

Definition at line 106 of file ExposureInfo.h.

106 { return static_cast<bool>(_calib); }
boost::shared_ptr< Calib > _calib
Definition: ExposureInfo.h:241
bool lsst.afw.image::ExposureInfo::hasCoaddInputs ( ) const
inline

Does this exposure have coadd provenance catalogs?

Definition at line 137 of file ExposureInfo.h.

137 { return static_cast<bool>(_coaddInputs); }
boost::shared_ptr< CoaddInputs > _coaddInputs
Definition: ExposureInfo.h:245
bool lsst.afw.image::ExposureInfo::hasDetector ( ) const
inline

Does this exposure have Detector information?

Definition at line 91 of file ExposureInfo.h.

91 { return static_cast<bool>(_detector); }
boost::shared_ptr< cameraGeom::Detector const > _detector
Definition: ExposureInfo.h:242
bool lsst.afw.image::ExposureInfo::hasPsf ( ) const
inline

Does this exposure have a Psf?

Definition at line 124 of file ExposureInfo.h.

124 { return static_cast<bool>(_psf); }
boost::shared_ptr< detection::Psf > _psf
Definition: ExposureInfo.h:240
bool lsst.afw.image::ExposureInfo::hasWcs ( ) const
inline

Does this exposure have a Wcs?

Definition at line 79 of file ExposureInfo.h.

79 { return static_cast<bool>(_wcs); }
boost::shared_ptr< Wcs > _wcs
Definition: ExposureInfo.h:239
ExposureInfo & lsst.afw.image::ExposureInfo::operator= ( ExposureInfo const &  other)

Assignment; deep-copies all components except the metadata.

Definition at line 103 of file ExposureInfo.cc.

103  {
104  if (&other != this) {
105  _wcs = _cloneWcs(other._wcs);
106  _psf = other._psf;
107  _calib = _cloneCalib(other._calib);
108  _detector = other._detector;
109  _filter = other._filter;
110  _metadata = other._metadata;
111  _coaddInputs = other._coaddInputs;
112  }
113  return *this;
114 }
boost::shared_ptr< CoaddInputs > _coaddInputs
Definition: ExposureInfo.h:245
boost::shared_ptr< Wcs > _wcs
Definition: ExposureInfo.h:239
boost::shared_ptr< Calib > _calib
Definition: ExposureInfo.h:241
boost::shared_ptr< daf::base::PropertySet > _metadata
Definition: ExposureInfo.h:244
boost::shared_ptr< cameraGeom::Detector const > _detector
Definition: ExposureInfo.h:242
static boost::shared_ptr< Wcs > _cloneWcs(boost::shared_ptr< Wcs const > wcs)
Definition: ExposureInfo.cc:58
static boost::shared_ptr< Calib > _cloneCalib(boost::shared_ptr< Calib const > calib)
Definition: ExposureInfo.cc:52
boost::shared_ptr< detection::Psf > _psf
Definition: ExposureInfo.h:240
void lsst.afw.image::ExposureInfo::setCalib ( boost::shared_ptr< Calib const >  calib)
inline

Set the Exposure's Calib object.

Definition at line 115 of file ExposureInfo.h.

115 { _calib = _cloneCalib(calib); }
boost::shared_ptr< Calib > _calib
Definition: ExposureInfo.h:241
static boost::shared_ptr< Calib > _cloneCalib(boost::shared_ptr< Calib const > calib)
Definition: ExposureInfo.cc:52
void lsst.afw.image::ExposureInfo::setCoaddInputs ( boost::shared_ptr< CoaddInputs coaddInputs)
inline

Set the exposure's coadd provenance catalogs.

Definition at line 140 of file ExposureInfo.h.

140 { _coaddInputs = coaddInputs; }
boost::shared_ptr< CoaddInputs > _coaddInputs
Definition: ExposureInfo.h:245
void lsst.afw.image::ExposureInfo::setDetector ( boost::shared_ptr< cameraGeom::Detector const >  detector)
inline

Set the exposure's Detector information.

Definition at line 97 of file ExposureInfo.h.

97 { _detector = detector; }
boost::shared_ptr< cameraGeom::Detector const > _detector
Definition: ExposureInfo.h:242
void lsst.afw.image::ExposureInfo::setFilter ( Filter const &  filter)
inline

Set the exposure's filter.

Definition at line 103 of file ExposureInfo.h.

103 { _filter = filter; }
void lsst.afw.image::ExposureInfo::setMetadata ( boost::shared_ptr< daf::base::PropertySet metadata)
inline

Set the flexible metadata.

Definition at line 121 of file ExposureInfo.h.

121 { _metadata = metadata; }
boost::shared_ptr< daf::base::PropertySet > _metadata
Definition: ExposureInfo.h:244
void lsst.afw.image::ExposureInfo::setPsf ( boost::shared_ptr< detection::Psf const >  psf)
inline

Set the exposure's point-spread function.

Definition at line 130 of file ExposureInfo.h.

130  {
131  // Psfs are immutable, so this is always safe; it'd be better to always just pass around
132  // const or non-const pointers, instead of both, but this is more backwards-compatible.
133  _psf = boost::const_pointer_cast<detection::Psf>(psf);
134  }
A polymorphic base class for representing an image&#39;s Point Spread Function.
Definition: Psf.h:68
boost::shared_ptr< detection::Psf > _psf
Definition: ExposureInfo.h:240
void lsst.afw.image::ExposureInfo::setWcs ( boost::shared_ptr< Wcs const >  wcs)
inline

Set the coordinate system of the exposure.

Definition at line 88 of file ExposureInfo.h.

88 { _wcs = _cloneWcs(wcs); }
boost::shared_ptr< Wcs > _wcs
Definition: ExposureInfo.h:239
static boost::shared_ptr< Wcs > _cloneWcs(boost::shared_ptr< Wcs const > wcs)
Definition: ExposureInfo.cc:58

Friends And Related Function Documentation

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

Definition at line 176 of file ExposureInfo.h.

Member Data Documentation

boost::shared_ptr< Calib > lsst.afw.image::ExposureInfo::_calib
private

Definition at line 241 of file ExposureInfo.h.

boost::shared_ptr< CoaddInputs > lsst.afw.image::ExposureInfo::_coaddInputs
private

Definition at line 245 of file ExposureInfo.h.

boost::shared_ptr< cameraGeom::Detector const> lsst.afw.image::ExposureInfo::_detector
private

Definition at line 242 of file ExposureInfo.h.

Filter lsst.afw.image::ExposureInfo::_filter
private

Definition at line 243 of file ExposureInfo.h.

boost::shared_ptr< daf::base::PropertySet > lsst.afw.image::ExposureInfo::_metadata
private

Definition at line 244 of file ExposureInfo.h.

boost::shared_ptr< detection::Psf > lsst.afw.image::ExposureInfo::_psf
private

Definition at line 240 of file ExposureInfo.h.

boost::shared_ptr< Wcs > lsst.afw.image::ExposureInfo::_wcs
private

Definition at line 239 of file ExposureInfo.h.


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