LSST Applications g0265f82a02+0e5473021a,g02d81e74bb+0dd8ce4237,g1470d8bcf6+3ea6592b6f,g2079a07aa2+86d27d4dc4,g2305ad1205+5ca4c0b359,g295015adf3+d10818ec9d,g2a9a014e59+6f9be1b9cd,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g3ddfee87b4+703ba97ebf,g487adcacf7+4fa16da234,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+ffa42b374e,g5a732f18d5+53520f316c,g64a986408d+0dd8ce4237,g858d7b2824+0dd8ce4237,g8a8a8dda67+585e252eca,g99cad8db69+d39438377f,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+f1d96605c8,gb0e22166c9+60f28cb32d,gb6a65358fc+0e5473021a,gba4ed39666+c2a2e4ac27,gbb8dafda3b+e5339d463f,gc120e1dc64+da31e9920e,gc28159a63d+0e5473021a,gcf0d15dbbd+703ba97ebf,gdaeeff99f8+f9a426f77a,ge6526c86ff+889fc9d533,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gf18bd8381d+7268b93478,gff1a9f87cc+0dd8ce4237,w.2024.16
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | List of all members
lsst::afw::image::DecoratedImage< PixelT > Class Template Reference

A container for an Image and its associated metadata. More...

#include <Image.h>

Public Member Functions

 DecoratedImage (const lsst::geom::Extent2I &dimensions=lsst::geom::Extent2I())
 Create an image of the specified size.
 
 DecoratedImage (const lsst::geom::Box2I &bbox)
 Create an image of the specified size.
 
 DecoratedImage (std::shared_ptr< Image< PixelT > > rhs)
 Create a DecoratedImage wrapping rhs
 
 DecoratedImage (DecoratedImage const &rhs, const bool deep=false)
 Copy constructor.
 
 DecoratedImage (std::string const &fileName, const int hdu=fits::DEFAULT_HDU, lsst::geom::Box2I const &bbox=lsst::geom::Box2I(), ImageOrigin const origin=PARENT, bool allowUnsafe=false)
 Create a DecoratedImage from a FITS file.
 
DecoratedImageoperator= (const DecoratedImage &image)
 Assignment operator.
 
std::shared_ptr< lsst::daf::base::PropertySetgetMetadata () const
 
void setMetadata (std::shared_ptr< lsst::daf::base::PropertySet > metadata)
 
int getWidth () const
 Return the number of columns in the image.
 
int getHeight () const
 Return the number of rows in the image.
 
int getX0 () const
 Return the image's column-origin.
 
int getY0 () const
 Return the image's row-origin.
 
const lsst::geom::Extent2I getDimensions () const
 Return the image's size; useful for passing to constructors.
 
void swap (DecoratedImage &rhs)
 
void writeFits (std::string const &fileName, daf::base::PropertySet const *metadata=nullptr, std::string const &mode="w") const
 Write a FITS file.
 
void writeFits (std::string const &fileName, fits::ImageWriteOptions const &options, daf::base::PropertySet const *metadata=nullptr, std::string const &mode="w") const
 Write a FITS file.
 
std::shared_ptr< Image< PixelT > > getImage ()
 Return a shared_ptr to the DecoratedImage's Image.
 
std::shared_ptr< Image< PixelT > const > getImage () const
 Return a shared_ptr to the DecoratedImage's Image as const.
 
double getGain () const
 Return the DecoratedImage's gain.
 
void setGain (double gain)
 Set the DecoratedImage's gain.
 

Detailed Description

template<typename PixelT>
class lsst::afw::image::DecoratedImage< PixelT >

A container for an Image and its associated metadata.

Definition at line 406 of file Image.h.

Constructor & Destructor Documentation

◆ DecoratedImage() [1/5]

template<typename PixelT >
lsst::afw::image::DecoratedImage< PixelT >::DecoratedImage ( const lsst::geom::Extent2I & dimensions = lsst::geom::Extent2I())
explicit

Create an image of the specified size.

Parameters
dimensionsdesired number of columns. rows

Definition at line 44 of file DecoratedImage.cc.

45 : _image(new Image<PixelT>(dimensions)) {
46 init();
47}

◆ DecoratedImage() [2/5]

template<typename PixelT >
lsst::afw::image::DecoratedImage< PixelT >::DecoratedImage ( const lsst::geom::Box2I & bbox)
explicit

Create an image of the specified size.

Parameters
bbox(width, height) and origin of the desired Image
Note
Many lsst::afw::image and lsst::afw::math objects define a dimensions member which may be conveniently used to make objects of an appropriate size

Definition at line 49 of file DecoratedImage.cc.

49 : _image(new Image<PixelT>(bbox)) {
50 init();
51}
AmpInfoBoxKey bbox
Definition Amplifier.cc:117

◆ DecoratedImage() [3/5]

template<typename PixelT >
lsst::afw::image::DecoratedImage< PixelT >::DecoratedImage ( std::shared_ptr< Image< PixelT > > rhs)
explicit

Create a DecoratedImage wrapping rhs

Note that this ctor shares pixels with the rhs; it isn't a deep copy

Parameters
rhsImage to go into DecoratedImage

Definition at line 53 of file DecoratedImage.cc.

53 : _image(rhs) {
54 init();
55}

◆ DecoratedImage() [4/5]

template<typename PixelT >
lsst::afw::image::DecoratedImage< PixelT >::DecoratedImage ( DecoratedImage< PixelT > const & rhs,
const bool deep = false )

Copy constructor.

Note that the lhs will share memory with the rhs unless deep is true

Parameters
rhsright hand side
deepMake deep copy?

Definition at line 57 of file DecoratedImage.cc.

58 : _image(new Image<PixelT>(*src._image, deep)), _gain(src._gain) {
59 setMetadata(src.getMetadata());
60}
std::shared_ptr< RecordT > src
Definition Match.cc:48
void setMetadata(std::shared_ptr< lsst::daf::base::PropertySet > metadata)
Definition Image.h:462

◆ DecoratedImage() [5/5]

template<typename PixelT >
lsst::afw::image::DecoratedImage< PixelT >::DecoratedImage ( std::string const & fileName,
const int hdu = fits::DEFAULT_HDU,
lsst::geom::Box2I const & bbox = lsst::geom::Box2I(),
ImageOrigin const origin = PARENT,
bool allowUnsafe = false )
explicit

Create a DecoratedImage from a FITS file.

Parameters
fileNameFile to read
hduThe HDU to read
bboxOnly read these pixels
originCoordinate system of the bbox
allowUnsafePermit reading into the requested pixel type even when on-disk values may overflow or truncate.

Definition at line 86 of file DecoratedImage.cc.

88 {
89 init();
91 new Image<PixelT>(fileName, hdu, getMetadata(), bbox, origin, allowUnsafe));
92}
std::shared_ptr< lsst::daf::base::PropertySet > getMetadata() const
Definition Image.h:461

Member Function Documentation

◆ getDimensions()

template<typename PixelT >
const lsst::geom::Extent2I lsst::afw::image::DecoratedImage< PixelT >::getDimensions ( ) const
inline

Return the image's size; useful for passing to constructors.

Definition at line 475 of file Image.h.

475{ return _image->getDimensions(); }

◆ getGain()

template<typename PixelT >
double lsst::afw::image::DecoratedImage< PixelT >::getGain ( ) const
inline

Return the DecoratedImage's gain.

Note
This is mostly just a place holder for other properties that we might want to associate with a DecoratedImage

Definition at line 516 of file Image.h.

516{ return _gain; }

◆ getHeight()

template<typename PixelT >
int lsst::afw::image::DecoratedImage< PixelT >::getHeight ( ) const
inline

Return the number of rows in the image.

Definition at line 467 of file Image.h.

467{ return _image->getHeight(); }

◆ getImage() [1/2]

template<typename PixelT >
std::shared_ptr< Image< PixelT > > lsst::afw::image::DecoratedImage< PixelT >::getImage ( )
inline

Return a shared_ptr to the DecoratedImage's Image.

Definition at line 507 of file Image.h.

507{ return _image; }

◆ getImage() [2/2]

template<typename PixelT >
std::shared_ptr< Image< PixelT > const > lsst::afw::image::DecoratedImage< PixelT >::getImage ( ) const
inline

Return a shared_ptr to the DecoratedImage's Image as const.

Definition at line 509 of file Image.h.

509{ return _image; }

◆ getMetadata()

template<typename PixelT >
std::shared_ptr< lsst::daf::base::PropertySet > lsst::afw::image::DecoratedImage< PixelT >::getMetadata ( ) const
inline

Definition at line 461 of file Image.h.

461{ return _metadata; }

◆ getWidth()

template<typename PixelT >
int lsst::afw::image::DecoratedImage< PixelT >::getWidth ( ) const
inline

Return the number of columns in the image.

Definition at line 465 of file Image.h.

465{ return _image->getWidth(); }

◆ getX0()

template<typename PixelT >
int lsst::afw::image::DecoratedImage< PixelT >::getX0 ( ) const
inline

Return the image's column-origin.

Definition at line 470 of file Image.h.

470{ return _image->getX0(); }

◆ getY0()

template<typename PixelT >
int lsst::afw::image::DecoratedImage< PixelT >::getY0 ( ) const
inline

Return the image's row-origin.

Definition at line 472 of file Image.h.

472{ return _image->getY0(); }

◆ operator=()

template<typename PixelT >
DecoratedImage< PixelT > & lsst::afw::image::DecoratedImage< PixelT >::operator= ( const DecoratedImage< PixelT > & image)

Assignment operator.

N.b. this is a shallow assignment; use set(src) if you want to copy the pixels

Definition at line 62 of file DecoratedImage.cc.

62 {
64 swap(tmp); // See Meyers, Effective C++, Item 11
65
66 return *this;
67}
DecoratedImage(const lsst::geom::Extent2I &dimensions=lsst::geom::Extent2I())
Create an image of the specified size.
void swap(DecoratedImage &rhs)

◆ setGain()

template<typename PixelT >
void lsst::afw::image::DecoratedImage< PixelT >::setGain ( double gain)
inline

Set the DecoratedImage's gain.

Definition at line 518 of file Image.h.

518{ _gain = gain; }
table::Key< double > gain
Definition Amplifier.cc:118

◆ setMetadata()

template<typename PixelT >
void lsst::afw::image::DecoratedImage< PixelT >::setMetadata ( std::shared_ptr< lsst::daf::base::PropertySet > metadata)
inline

Definition at line 462 of file Image.h.

462{ _metadata = metadata; }

◆ swap()

template<typename PixelT >
void lsst::afw::image::DecoratedImage< PixelT >::swap ( DecoratedImage< PixelT > & rhs)

Definition at line 70 of file DecoratedImage.cc.

70 {
71 using std::swap; // See Meyers, Effective C++, Item 25
72
73 swap(_image, rhs._image); // just swapping the pointers
74 swap(_gain, rhs._gain);
75}
T swap(T... args)

◆ writeFits() [1/2]

template<typename PixelT >
void lsst::afw::image::DecoratedImage< PixelT >::writeFits ( std::string const & fileName,
daf::base::PropertySet const * metadata = nullptr,
std::string const & mode = "w" ) const

Write a FITS file.

Parameters
fileNamethe file to write
metadatametadata to write to header; or NULL
mode"w" to write a new file; "a" to append

Definition at line 95 of file DecoratedImage.cc.

97 {
98 fits::ImageWriteOptions const options;
99 writeFits(fileName, options, metadata, mode);
100}
void writeFits(std::string const &fileName, daf::base::PropertySet const *metadata=nullptr, std::string const &mode="w") const
Write a FITS file.

◆ writeFits() [2/2]

template<typename PixelT >
void lsst::afw::image::DecoratedImage< PixelT >::writeFits ( std::string const & fileName,
fits::ImageWriteOptions const & options,
daf::base::PropertySet const * metadata = nullptr,
std::string const & mode = "w" ) const

Write a FITS file.

Parameters
[in]fileNamethe file to write
[in]optionsOptions controlling writing of FITS image.
[in]metadatametadata to write to header; or NULL
[in]mode"w" to write a new file; "a" to append

Definition at line 103 of file DecoratedImage.cc.

105 {
107
108 if (metadata_i) {
109 metadata = getMetadata()->deepCopy();
110 metadata->combine(*metadata_i);
111 } else {
112 metadata = getMetadata();
113 }
114
115 getImage()->writeFits(fileName, options, mode, metadata.get());
116}
std::shared_ptr< Image< PixelT > > getImage()
Return a shared_ptr to the DecoratedImage's Image.
Definition Image.h:507
virtual std::shared_ptr< PropertySet > deepCopy() const
Make a deep copy of the PropertySet and all of its contents.
T get(T... args)

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