Template Class ImageBase¶
Defined in File ImageBase.h
Inheritance Relationships¶
Derived Types¶
public lsst::afw::image::Image< lsst::afw::math::Kernel::Pixel >(Template Class Image)public lsst::afw::image::Image< Pixel >(Template Class Image)public lsst::afw::image::Image< PixelT >(Template Class Image)
Class Documentation¶
- 
template<typename 
PixelT>
classImageBase¶ The base class for all image classed (Image, Mask, MaskedImage, …)
Subclassed by lsst::afw::image::Image< lsst::afw::math::Kernel::Pixel >, lsst::afw::image::Image< Pixel >, lsst::afw::image::Image< PixelT >
Unnamed Group
- 
PixelReference 
operator()(int x, int y)¶ Return a reference to the pixel
(x, y)
- 
PixelReference 
operator()(int x, int y, CheckIndices const&)¶ Return a reference to the pixel
(x, y)with bounds checking.
- 
PixelConstReference 
operator()(int x, int y) const¶ Return a const reference to the pixel
(x, y)
- 
PixelConstReference 
operator()(int x, int y, CheckIndices const&) const¶ Return a const reference to the pixel
(x, y)with bounds checking.
- 
PixelConstReference 
get0(int x, int y) const¶ 
- 
PixelConstReference 
get0(int x, int y, CheckIndices const &check) const¶ 
- 
void 
set0(int x, int y, const PixelT v)¶ 
- 
void 
set0(int x, int y, const PixelT v, CheckIndices const &check)¶ 
Public Types
- 
typedef ConstReference<PixelT>::type 
PixelConstReference¶ A ConstReference to a PixelT.
- 
typedef _view_t::xy_locator 
xy_locator¶ An xy_locator.
- 
typedef _view_t::xy_locator::const_t 
const_xy_locator¶ A const_xy_locator.
- 
typedef _view_t::iterator 
iterator¶ An STL compliant iterator.
- 
typedef _const_view_t::iterator 
const_iterator¶ An STL compliant const iterator.
- 
typedef _view_t::reverse_iterator 
reverse_iterator¶ An STL compliant reverse iterator.
- 
typedef _const_view_t::reverse_iterator 
const_reverse_iterator¶ An STL compliant const reverse iterator.
- 
typedef _view_t::x_iterator 
x_iterator¶ An iterator for traversing the pixels in a row.
- 
typedef x_iterator 
fast_iterator¶ A fast STL compliant iterator for contiguous images N.b. The order of pixel access is undefined
- 
typedef _view_t::x_iterator 
xy_x_iterator¶ An iterator for traversing the pixels in a row, created from an xy_locator.
- 
typedef _const_view_t::x_iterator 
const_x_iterator¶ A const iterator for traversing the pixels in a row.
- 
typedef _view_t::y_iterator 
y_iterator¶ An iterator for traversing the pixels in a column.
- 
typedef _view_t::y_iterator 
xy_y_iterator¶ An iterator for traversing the pixels in a row, created from an xy_locator.
- 
typedef _const_view_t::y_iterator 
const_y_iterator¶ A const iterator for traversing the pixels in a column.
- 
typedef ndarray::Array<PixelT, 2, 1> 
Array¶ A mutable ndarray representation of the image.
- 
typedef ndarray::Array<PixelT const, 2, 1> 
ConstArray¶ An immutable ndarray representation of the image.
Public Functions
- 
ImageBase(const lsst::geom::Extent2I &dimensions = lsst::geom::Extent2I())¶ Allocator Constructor
allocate a new image with the specified dimensions. Sets origin at (0,0)
- 
ImageBase(const lsst::geom::Box2I &bbox)¶ Allocator Constructor
allocate a new image with the specified dimensions and origin
- 
ImageBase(const ImageBase &src, const lsst::geom::Box2I &bbox, const ImageOrigin origin = PARENT, const bool deep = false)¶ Copy constructor to make a copy of part of an image.
The bbox ignores X0/Y0 if origin == LOCAL, and uses it if origin == PARENT.
- Note
 Unless
deepistrue, the new image will share the old image’s pixels; this is probably what you want- Parameters
 
- 
template<typename 
OtherPixelT>ImageBase(const ImageBase<OtherPixelT> &rhs, const bool deep)¶ generalised copy constructor
defined here in the header so that the compiler can instantiate N(N-1) conversions between N ImageBase types.
- 
ImageBase(Array const &array, bool deep = false, lsst::geom::Point2I const &xy0 = lsst::geom::Point2I())¶ Construction from ndarray::Array and NumPy.
Unless deep is true, the new image will share memory with the array if the the dimension is contiguous in memory. If the last dimension is not contiguous, the array will be deep-copied in Python, but the constructor will fail to compile in pure C++.
- Note
 ndarray and NumPy indexes are ordered (y,x), but Image indices are ordered (x,y).
- 
virtual 
~ImageBase()¶ 
- 
ImageBase &
operator=(const ImageBase &rhs)¶ Shallow assignment operator.
- Note
 that this has the effect of making the lhs share pixels with the rhs which may not be what you intended; to copy the pixels, use assign(rhs)
- Note
 this behaviour is required to make the swig interface work, otherwise I’d declare this function private
- 
ImageBase &
operator=(ImageBase &&rhs)¶ 
- 
ImageBase &
operator=(const PixelT rhs)¶ Set the image’s pixels to rhs.
- 
ImageBase &
operator<<=(const ImageBase &rhs)¶ Set the lhs’s pixel values to equal the rhs’s
- 
void 
assign(ImageBase const &rhs, lsst::geom::Box2I const &bbox = lsst::geom::Box2I(), ImageOrigin origin = PARENT)¶ Copy pixels from another image to a specified subregion of this image.
- Parameters
 [in] rhs: source image whose pixels are to be copied into this image (the destination)[in] bbox: subregion of this image to set; if empty (the default) then all pixels are set[in] origin: origin of bbox: if PARENT then the lower left pixel of this image is at xy0 if LOCAL then the lower left pixel of this image is at 0,0
- Exceptions
 lsst::pex::exceptions::LengthError: if the dimensions of rhs and the specified subregion of this image do not match.
- 
PixelReference 
get(lsst::geom::Point2I const &index, ImageOrigin origin)¶ Return a reference to a single pixel (with no bounds check).
- 
PixelConstReference 
get(lsst::geom::Point2I const &index, ImageOrigin origin) const¶ Return a const reference to a single pixel (with no bounds check).
- 
PixelReference 
operator[](lsst::geom::Point2I const &index)¶ Return a reference to a single pixel in PARENT coordinates (with no bounds check).
- 
PixelConstReference 
operator[](lsst::geom::Point2I const &index) const¶ Return a reference to a single pixel in PARENT coordinates (with no bounds check).
- 
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
This will usually be 0 except for images created using the
ImageBase(fileName, hdu, BBox, mode)ctor orImageBase(ImageBase, BBox)cctor The origin can be reset withsetXY0
- 
int 
getY0() const¶ Return the image’s row-origin
This will usually be 0 except for images created using the
ImageBase(fileName, hdu, BBox, mode)ctor orImageBase(ImageBase, BBox)cctor The origin can be reset withsetXY0
- 
lsst::geom::Point2I 
getXY0() const¶ Return the image’s origin
This will usually be (0, 0) except for images created using the
ImageBase(fileName, hdu, BBox, mode)ctor orImageBase(ImageBase, BBox)cctor The origin can be reset withsetXY0
- 
std::pair<int, double> 
positionToIndex(double const pos, lsst::afw::image::xOrY const xy) const¶ - Parameters
 pos: image positionxy: Is this a column or row coordinate?
Convert image position to index (nearest integer and fractional parts)
- Return
 std::pair(nearest integer index, fractional part)
- 
double 
indexToPosition(double ind, lsst::afw::image::xOrY const xy) const¶ - Parameters
 ind: image indexxy: Is this a column or row coordinate?
Convert image index to image position
The LSST indexing convention is:
the index of the bottom left pixel is 0,0
the position of the center of the bottom left pixel is PixelZeroPos, PixelZeroPos
- Return
 image position
- 
lsst::geom::Extent2I 
getDimensions() const¶ Return the image’s size; useful for passing to constructors.
- 
void 
swap(ImageBase &rhs)¶ 
- 
ImageBase<PixelT>::Array 
getArray()¶ 
- 
ImageBase<PixelT>::ConstArray 
getArray() const¶ 
- 
iterator 
begin() const¶ Return an STL compliant iterator to the start of the image
Note that this isn’t especially efficient; see imageIterators for a discussion
- 
reverse_iterator 
rbegin() const¶ Return an STL compliant reverse iterator to the start of the image.
- 
reverse_iterator 
rend() const¶ Return an STL compliant reverse iterator to the end of the image.
- 
fast_iterator 
begin(bool contiguous) const¶ Return a fast STL compliant iterator to the start of the image which must be contiguous
- Parameters
 contiguous: Pixels are contiguous (must be true)
- Exceptions
 lsst::pex::exceptions::RuntimeError: Argumentcontiguousis false, or the pixels are not in fact contiguous
- 
fast_iterator 
end(bool contiguous) const¶ Return a fast STL compliant iterator to the end of the image which must be contiguous
- Parameters
 contiguous: Pixels are contiguous (must be true)
- Exceptions
 lsst::pex::exceptions::RuntimeError: Argumentcontiguousis false, or the pixels are not in fact contiguous
- 
x_iterator 
row_begin(int y) const¶ Return an
x_iteratorto the start of they’th rowIncrementing an
x_iteratormoves it across the row
- 
x_iterator 
row_end(int y) const¶ Return an
x_iteratorto the end of they’th row.
- 
x_iterator 
x_at(int x, int y) const¶ Return an
x_iteratorto the point(x, y)in the image.
- 
y_iterator 
col_begin(int x) const¶ Return an
y_iteratorto the start of they’th rowIncrementing an
y_iteratormoves it up the column
- 
y_iterator 
col_end(int x) const¶ Return an
y_iteratorto the start of they’th row.
- 
y_iterator 
y_at(int x, int y) const¶ Return an
y_iteratorto the point(x, y)in the image.
- 
xy_locator 
xy_at(int x, int y) const¶ Return an
xy_locatorat the point(x, y)in the imageLocators may be used to access a patch in an image
- 
void 
setXY0(lsst::geom::Point2I const origin)¶ Set the ImageBase’s origin
The origin is usually set by the constructor, so you shouldn’t need this function
- Note
 There are use cases (e.g. memory overlays) that may want to set these values, but don’t do so unless you are an Expert.
- 
void 
setXY0(int const x0, int const y0)¶ Set the ImageBase’s origin
The origin is usually set by the constructor, so you shouldn’t need this function
- Note
 There are use cases (e.g. memory overlays) that may want to set these values, but don’t do so unless you are an Expert.
- 
lsst::geom::Box2I 
getBBox(ImageOrigin origin = PARENT) const¶ 
Public Static Functions
- 
template<typename 
SinglePixelT>
static SinglePixelPixelCast(SinglePixelT rhs)¶ Convert a type to our SinglePixel type.
Protected Static Functions
Friends
- 
friend 
lsst::afw::image::ImageBase::ImageBase 
- 
friend 
lsst::afw::image::ImageBase::DecoratedImage 
- 
friend 
lsst::afw::image::ImageBase::MaskedImage 
- 
PixelReference