LSST Applications
21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
|
A class to contain the data, WCS, and other information needed to describe an image of the sky. More...
#include <Exposure.h>
Public Types | |
using | MaskedImageT = MaskedImage< ImageT, MaskT, VarianceT > |
Public Member Functions | |
Exposure (unsigned int width, unsigned int height, std::shared_ptr< geom::SkyWcs const > wcs=std::shared_ptr< geom::SkyWcs const >()) | |
Construct an Exposure with a blank MaskedImage of specified size (default 0x0) and a SkyWcs (which may be default constructed) More... | |
Exposure (lsst::geom::Extent2I const &dimensions=lsst::geom::Extent2I(), std::shared_ptr< geom::SkyWcs const > wcs=std::shared_ptr< geom::SkyWcs const >()) | |
Construct an Exposure with a blank MaskedImage of specified size (default 0x0) and a SkyWcs (which may be default constructed) More... | |
Exposure (lsst::geom::Box2I const &bbox, std::shared_ptr< geom::SkyWcs const > wcs=std::shared_ptr< geom::SkyWcs const >()) | |
Construct an Exposure with a blank MaskedImage of specified size (default 0x0) and a SkyWcs. More... | |
Exposure (MaskedImageT &maskedImage, std::shared_ptr< geom::SkyWcs const > wcs=std::shared_ptr< geom::SkyWcs const >()) | |
Construct an Exposure from a MaskedImage and an optional SkyWcs. More... | |
Exposure (MaskedImageT &maskedImage, std::shared_ptr< ExposureInfo > info) | |
Construct an Exposure from a MaskedImage and an ExposureInfo. More... | |
Exposure (std::string const &fileName, lsst::geom::Box2I const &bbox=lsst::geom::Box2I(), ImageOrigin origin=PARENT, bool conformMasks=false, bool allowUnsafe=false) | |
Construct an Exposure by reading a regular FITS file. More... | |
Exposure (fits::MemFileManager &manager, lsst::geom::Box2I const &bbox=lsst::geom::Box2I(), ImageOrigin origin=PARENT, bool conformMasks=false, bool allowUnsafe=false) | |
Construct an Exposure by reading a FITS image in memory. More... | |
Exposure (fits::Fits &fitsfile, lsst::geom::Box2I const &bbox=lsst::geom::Box2I(), ImageOrigin origin=PARENT, bool conformMasks=false, bool allowUnsafe=false) | |
Construct an Exposure from an already-open FITS object. More... | |
Exposure (Exposure const &src, bool const deep=false) | |
Copy an Exposure. More... | |
Exposure (Exposure &&src) | |
Exposure (Exposure const &src, lsst::geom::Box2I const &bbox, ImageOrigin const origin=PARENT, bool const deep=false) | |
Construct a subExposure given an Exposure and a bounding box. More... | |
template<typename OtherPixelT > | |
Exposure (Exposure< OtherPixelT, MaskT, VarianceT > const &rhs, const bool deep) | |
generalised copy constructor; defined here in the header so that the compiler can instantiate N(N-1)/2 conversions between N ImageBase types. More... | |
Exposure & | operator= (Exposure const &) |
Exposure & | operator= (Exposure &&) |
Exposure | subset (lsst::geom::Box2I const &bbox, ImageOrigin origin=PARENT) const |
Return a subimage corresponding to the given box. More... | |
Exposure | operator[] (lsst::geom::Box2I const &bbox) const |
Return a subimage corresponding to the given box (interpreted as PARENT coordinates). More... | |
virtual | ~Exposure () |
Destructor. More... | |
MaskedImageT | getMaskedImage () |
Return the MaskedImage. More... | |
MaskedImageT | getMaskedImage () const |
Return the MaskedImage. More... | |
std::shared_ptr< geom::SkyWcs const > | getWcs () const |
std::shared_ptr< lsst::afw::cameraGeom::Detector const > | getDetector () const |
Return the Exposure's Detector information. More... | |
Filter | getFilter () const |
Return the Exposure's filter. More... | |
std::shared_ptr< FilterLabel const > | getFilterLabel () const |
Return the Exposure's filter information. More... | |
std::shared_ptr< lsst::daf::base::PropertySet > | getMetadata () const |
Return flexible metadata. More... | |
void | setMetadata (std::shared_ptr< lsst::daf::base::PropertySet > metadata) |
int | getWidth () const |
Return the Exposure's width. More... | |
int | getHeight () const |
Return the Exposure's height. More... | |
lsst::geom::Extent2I | getDimensions () const |
Return the Exposure's size. More... | |
int | getX0 () const |
Return the Exposure's column-origin. More... | |
int | getY0 () const |
Return the Exposure's row-origin. More... | |
lsst::geom::Point2I | getXY0 () const |
Return the Exposure's origin. More... | |
lsst::geom::Box2I | getBBox (ImageOrigin const origin=PARENT) const |
void | setXY0 (lsst::geom::Point2I const &origin) |
Set the Exposure's origin (including correcting the Wcs) More... | |
void | setMaskedImage (MaskedImageT &maskedImage) |
Set the MaskedImage of the Exposure. More... | |
void | setWcs (std::shared_ptr< geom::SkyWcs > wcs) |
void | setDetector (std::shared_ptr< lsst::afw::cameraGeom::Detector const > detector) |
Set the Exposure's Detector information. More... | |
void | setFilter (Filter const &filter) |
Set the Exposure's filter. More... | |
void | setFilterLabel (std::shared_ptr< FilterLabel const > filterLabel) |
Set the Exposure's filter information. More... | |
void | setPhotoCalib (std::shared_ptr< PhotoCalib const > photoCalib) |
Set the Exposure's PhotoCalib object. More... | |
std::shared_ptr< PhotoCalib const > | getPhotoCalib () const |
Return the Exposure's PhotoCalib object. More... | |
void | setPsf (std::shared_ptr< lsst::afw::detection::Psf const > psf) |
Set the Exposure's Psf. More... | |
std::shared_ptr< lsst::afw::detection::Psf const > | getPsf () const |
Return the Exposure's Psf object. More... | |
bool | hasPsf () const |
Does this Exposure have a Psf? More... | |
bool | hasWcs () const |
Does this Exposure have a Wcs? More... | |
std::shared_ptr< ExposureInfo > | getInfo () |
Get the ExposureInfo that aggregates all the non-image components. Never null. More... | |
std::shared_ptr< ExposureInfo const > | getInfo () const |
Get the ExposureInfo that aggregates all the non-image components. Never null. More... | |
void | setInfo (std::shared_ptr< ExposureInfo > exposureInfo) |
Set the ExposureInfo that aggregates all the non-image components. More... | |
void | writeFits (std::string const &fileName) const |
Write an Exposure to a regular multi-extension FITS file. More... | |
void | writeFits (fits::MemFileManager &manager) const |
Write an Exposure to a multi-extension FITS file in memory. More... | |
void | writeFits (fits::Fits &fitsfile) const |
Write an Exposure to an already-open FITS file object. More... | |
void | writeFits (std::string const &fileName, fits::ImageWriteOptions const &imageOptions, fits::ImageWriteOptions const &maskOptions, fits::ImageWriteOptions const &varianceOptions) const |
Write an Exposure to a regular multi-extension FITS file. More... | |
void | writeFits (fits::MemFileManager &manager, fits::ImageWriteOptions const &imageOptions, fits::ImageWriteOptions const &maskOptions, fits::ImageWriteOptions const &varianceOptions) const |
Write an Exposure to a regular multi-extension FITS file. More... | |
void | writeFits (fits::Fits &fitsfile, fits::ImageWriteOptions const &imageOptions, fits::ImageWriteOptions const &maskOptions, fits::ImageWriteOptions const &varianceOptions) const |
Write an Exposure to a regular multi-extension FITS file. More... | |
Exposure | getCutout (lsst::geom::SpherePoint const ¢er, lsst::geom::Extent2I const &size) const |
Return an Exposure that is a small cutout of the original. More... | |
Static Public Member Functions | |
static Exposure | readFits (std::string const &filename) |
Read an Exposure from a regular FITS file. More... | |
static Exposure | readFits (fits::MemFileManager &manager) |
Read an Exposure from a FITS RAM file. More... | |
A class to contain the data, WCS, and other information needed to describe an image of the sky.
Exposure Class Implementation for LSST: a templated framework class for creating an Exposure from a MaskedImage and a Wcs.
An Exposure is required to take one afwImage::MaskedImage or a region (col, row) defining the size of a MaskedImage (this can be of size 0,0). An Exposure can (but is not required to) contain an afwImage::SkyWcs.
The template types should optimally be a float, double, unsigned int 16 bit, or unsigned int 32 bit for the image (pixel) type and an unsigned int 32 bit for the mask type. These types have been explicitly instantiated for the Exposure class. All MaskedImage and Wcs constructors are 'const' to allow for views and copying.
An Exposure can get and return its MaskedImage, SkyWcs, and a subExposure. The getSubExposure member takes a BBox region defining the subRegion of the original Exposure to be returned. The member retrieves the MaskedImage corresponding to the subRegion. The MaskedImage class throws an exception for any subRegion extending beyond the original MaskedImage bounding box. This member is not yet fully implemented because it requires the SkyWcs class to return the SkyWcs metadata to the member so the CRPIX values of the SkyWcs can be adjusted to reflect the new subMaskedImage origin. The getSubExposure member will eventually return a subExposure consisting of the subMAskedImage and the SkyWcs object with its corresponding adjusted metadata.
The hasWcs member is used to determine if the Exposure has a SkyWcs. It is not required to have one.
Definition at line 72 of file Exposure.h.
using lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::MaskedImageT = MaskedImage<ImageT, MaskT, VarianceT> |
Definition at line 74 of file Exposure.h.
|
explicit |
Construct an Exposure with a blank MaskedImage of specified size (default 0x0) and a SkyWcs (which may be default constructed)
width | number of columns |
height | number of rows |
wcs | the SkyWcs |
Definition at line 46 of file Exposure.cc.
|
explicit |
Construct an Exposure with a blank MaskedImage of specified size (default 0x0) and a SkyWcs (which may be default constructed)
dimensions | desired image width/height |
wcs | the SkyWcs |
Definition at line 51 of file Exposure.cc.
|
explicit |
Construct an Exposure with a blank MaskedImage of specified size (default 0x0) and a SkyWcs.
bbox | desired image width/height, and origin |
wcs | the SkyWcs |
Definition at line 56 of file Exposure.cc.
|
explicit |
Construct an Exposure from a MaskedImage and an optional SkyWcs.
maskedImage | the MaskedImage |
wcs | the SkyWcs |
Definition at line 61 of file Exposure.cc.
|
explicit |
Construct an Exposure from a MaskedImage and an ExposureInfo.
If the ExposureInfo is an empty pointer then a new empty ExposureInfo is used
maskedImage | the MaskedImage |
info | the ExposureInfo |
Definition at line 66 of file Exposure.cc.
|
explicit |
Construct an Exposure by reading a regular FITS file.
[in] | fileName | File to read. |
[in] | bbox | If non-empty, read only the pixels within the bounding box. |
[in] | origin | Coordinate system of the bounding box; if PARENT, the bounding box should take into account the xy0 saved with the image. |
[in] | conformMasks | If true, make Mask conform to the mask layout in the file. |
[in] | allowUnsafe | Permit reading into the requested pixel type even when on-disk values may overflow or truncate. |
Definition at line 83 of file Exposure.cc.
|
explicit |
Construct an Exposure by reading a FITS image in memory.
[in] | manager | An object that manages the memory buffer to read. |
[in] | bbox | If non-empty, read only the pixels within the bounding box. |
[in] | origin | Coordinate system of the bounding box; if PARENT, the bounding box should take into account the xy0 saved with the image. |
[in] | conformMasks | If true, make Mask conform to the mask layout in the file. |
[in] | allowUnsafe | Permit reading into the requested pixel type even when on-disk values may overflow or truncate. |
Definition at line 91 of file Exposure.cc.
|
explicit |
Construct an Exposure from an already-open FITS object.
[in] | fitsfile | A FITS object to read from. Current HDU is ignored. |
[in] | bbox | If non-empty, read only the pixels within the bounding box. |
[in] | origin | Coordinate system of the bounding box; if PARENT, the bounding box should take into account the xy0 saved with the image. |
[in] | conformMasks | If true, make Mask conform to the mask layout in the file. |
[in] | allowUnsafe | Permit reading into the requested pixel type even when on-disk values may overflow or truncate. |
Definition at line 99 of file Exposure.cc.
lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::Exposure | ( | Exposure< ImageT, MaskT, VarianceT > const & | src, |
bool const | deep = false |
||
) |
Copy an Exposure.
src | Parent Exposure |
deep | Should we copy the pixels? |
Definition at line 70 of file Exposure.cc.
lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::Exposure | ( | Exposure< ImageT, MaskT, VarianceT > && | src | ) |
Definition at line 74 of file Exposure.cc.
lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::Exposure | ( | Exposure< ImageT, MaskT, VarianceT > const & | src, |
lsst::geom::Box2I const & | bbox, | ||
ImageOrigin const | origin = PARENT , |
||
bool const | deep = false |
||
) |
Construct a subExposure given an Exposure and a bounding box.
src | Parent Exposure |
bbox | Desired region in Exposure |
origin | Coordinate system for bbox |
deep | Should we copy the pixels? |
lsst::pex::exceptions::InvalidParameterError | if the requested subRegion is not fully contained by the original MaskedImage BBox. |
Definition at line 77 of file Exposure.cc.
|
inline |
generalised copy constructor; defined here in the header so that the compiler can instantiate N(N-1)/2 conversions between N ImageBase types.
We only support converting the Image part
rhs | Input Exposure |
deep | Must be true; needed to disambiguate |
Definition at line 189 of file Exposure.h.
|
virtualdefault |
Destructor.
|
inline |
Definition at line 279 of file Exposure.h.
Exposure< ImageT, MaskT, VarianceT > lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::getCutout | ( | lsst::geom::SpherePoint const & | center, |
lsst::geom::Extent2I const & | size | ||
) | const |
Return an Exposure that is a small cutout of the original.
center | desired center of cutout (in RA and Dec) |
size | width and height (in that order) of cutout in pixels |
center
to within half a pixel in either dimension. Pixels past the edge of the original exposure will equal math::edgePixel<MaskedImageT>.lsst::pex::exceptions::LogicError | Thrown if this Exposure does not have a WCS. |
lsst::pex::exceptions::InvalidParameterError | Thrown if center falls outside this Exposure or if size is not a valid size. |
Definition at line 204 of file Exposure.cc.
|
inline |
Return the Exposure's Detector information.
Definition at line 235 of file Exposure.h.
|
inline |
Return the Exposure's size.
Definition at line 255 of file Exposure.h.
|
inline |
Return the Exposure's filter.
Definition at line 240 of file Exposure.h.
|
inline |
Return the Exposure's filter information.
Definition at line 245 of file Exposure.h.
|
inline |
Return the Exposure's height.
Definition at line 253 of file Exposure.h.
|
inline |
Get the ExposureInfo that aggregates all the non-image components. Never null.
Definition at line 336 of file Exposure.h.
|
inline |
Get the ExposureInfo that aggregates all the non-image components. Never null.
Definition at line 339 of file Exposure.h.
|
inline |
|
inline |
|
inline |
Return flexible metadata.
Definition at line 247 of file Exposure.h.
|
inline |
Return the Exposure's PhotoCalib object.
Definition at line 321 of file Exposure.h.
|
inline |
Return the Exposure's Psf object.
Definition at line 327 of file Exposure.h.
|
inline |
Definition at line 232 of file Exposure.h.
|
inline |
Return the Exposure's width.
Definition at line 251 of file Exposure.h.
|
inline |
Return the Exposure's column-origin.
Definition at line 262 of file Exposure.h.
|
inline |
Return the Exposure's origin.
This will usually be (0, 0) except for images created using the Exposure(fileName, hdu, BBox, mode)
ctor or Exposure(Exposure, BBox)
cctor The origin can be reset with setXY0
Definition at line 277 of file Exposure.h.
|
inline |
Return the Exposure's row-origin.
Definition at line 268 of file Exposure.h.
|
inline |
Does this Exposure have a Psf?
Definition at line 330 of file Exposure.h.
|
inline |
Does this Exposure have a Wcs?
Definition at line 333 of file Exposure.h.
|
default |
|
default |
|
inline |
Return a subimage corresponding to the given box (interpreted as PARENT coordinates).
Definition at line 220 of file Exposure.h.
|
inlinestatic |
Read an Exposure from a FITS RAM file.
[in] | manager | Object that manages the memory to be read. |
Definition at line 428 of file Exposure.h.
|
inlinestatic |
Read an Exposure from a regular FITS file.
[in] | filename | Name of the file to read. |
Definition at line 419 of file Exposure.h.
|
inline |
|
inline |
Set the Exposure's filter.
filter | The filter to set. If this is the default filter ("_unknown_"), it is interpreted as "no filter". |
Definition at line 308 of file Exposure.h.
|
inline |
Set the Exposure's filter information.
Definition at line 314 of file Exposure.h.
|
inline |
Set the ExposureInfo that aggregates all the non-image components.
Definition at line 342 of file Exposure.h.
void lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::setMaskedImage | ( | MaskedImageT & | maskedImage | ) |
Set the MaskedImage of the Exposure.
Definition at line 111 of file Exposure.cc.
|
inline |
Definition at line 248 of file Exposure.h.
|
inline |
|
inline |
|
inline |
Definition at line 296 of file Exposure.h.
void lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::setXY0 | ( | lsst::geom::Point2I const & | origin | ) |
Set the Exposure's origin (including correcting the Wcs)
The origin is usually set by the constructor, so you shouldn't need this function
Definition at line 116 of file Exposure.cc.
|
inline |
Return a subimage corresponding to the given box.
bbox | Bounding box of the subimage returned. |
origin | Origin bbox is rleative to; PARENT accounts for xy0, LOCAL does not. |
This method is wrapped as getitem in Python.
Definition at line 215 of file Exposure.h.
void lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::writeFits | ( | fits::Fits & | fitsfile | ) | const |
Write an Exposure to an already-open FITS file object.
[in] | fitsfile | FITS object to write. |
Definition at line 146 of file Exposure.cc.
void lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::writeFits | ( | fits::Fits & | fitsfile, |
fits::ImageWriteOptions const & | imageOptions, | ||
fits::ImageWriteOptions const & | maskOptions, | ||
fits::ImageWriteOptions const & | varianceOptions | ||
) | const |
Write an Exposure to a regular multi-extension FITS file.
[in] | fitsfile | FITS object to which to write. |
[in] | imageOptions | Options controlling writing of image as FITS. |
[in] | maskOptions | Options controlling writing of mask as FITS. |
[in] | varianceOptions | Options controlling writing of variance as FITS. |
Definition at line 171 of file Exposure.cc.
void lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::writeFits | ( | fits::MemFileManager & | manager | ) | const |
Write an Exposure to a multi-extension FITS file in memory.
[in] | manager | Manager for the memory to write to. |
Definition at line 140 of file Exposure.cc.
void lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::writeFits | ( | fits::MemFileManager & | manager, |
fits::ImageWriteOptions const & | imageOptions, | ||
fits::ImageWriteOptions const & | maskOptions, | ||
fits::ImageWriteOptions const & | varianceOptions | ||
) | const |
Write an Exposure to a regular multi-extension FITS file.
[in] | manager | Manager for the memory to write to. |
[in] | imageOptions | Options controlling writing of image as FITS. |
[in] | maskOptions | Options controlling writing of mask as FITS. |
[in] | varianceOptions | Options controlling writing of variance as FITS. |
Definition at line 162 of file Exposure.cc.
void lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::writeFits | ( | std::string const & | fileName | ) | const |
Write an Exposure to a regular multi-extension FITS file.
[in] | fileName | Name of the file to write. |
As with MaskedImage persistence, an empty primary HDU will be created and all images planes will be saved to extension HDUs. Most metadata will be saved only to the header of the main image HDU, but the WCS will be saved to the header of the mask and variance as well. If present, the Psf will be written to one or more additional HDUs.
Note that the LSST pixel origin differs from the FITS convention by one, so the values of CRPIX and LTV saved in the file are not the same as those in the C++ objects in memory, but are rather modified so they are interpreted by external tools (like ds9).
Definition at line 134 of file Exposure.cc.
void lsst::afw::image::Exposure< ImageT, MaskT, VarianceT >::writeFits | ( | std::string const & | fileName, |
fits::ImageWriteOptions const & | imageOptions, | ||
fits::ImageWriteOptions const & | maskOptions, | ||
fits::ImageWriteOptions const & | varianceOptions | ||
) | const |
Write an Exposure to a regular multi-extension FITS file.
[in] | fileName | Name of the file to write. |
[in] | imageOptions | Options controlling writing of image as FITS. |
[in] | maskOptions | Options controlling writing of mask as FITS. |
[in] | varianceOptions | Options controlling writing of variance as FITS. |
Definition at line 153 of file Exposure.cc.