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
|
The base class for all image classed (Image, Mask, MaskedImage, ...) More...
#include <ImageBase.h>
Public Types | |
using | image_category = detail::basic_tag |
trait class to identify type of image More... | |
using | SinglePixel = PixelT |
A single Pixel of the same type as those in the ImageBase. More... | |
using | Pixel = PixelT |
A pixel in this ImageBase. More... | |
using | PixelReference = typename Reference< PixelT >::type |
A Reference to a PixelT. More... | |
using | PixelConstReference = typename ConstReference< PixelT >::type |
A ConstReference to a PixelT. More... | |
using | xy_locator = typename _view_t::xy_locator |
An xy_locator. More... | |
using | const_xy_locator = typename _view_t::xy_locator::const_t |
A const_xy_locator. More... | |
using | iterator = typename _view_t::iterator |
An STL compliant iterator. More... | |
using | const_iterator = typename _const_view_t::iterator |
An STL compliant const iterator. More... | |
using | reverse_iterator = typename _view_t::reverse_iterator |
An STL compliant reverse iterator. More... | |
using | const_reverse_iterator = typename _const_view_t::reverse_iterator |
An STL compliant const reverse iterator. More... | |
using | x_iterator = typename _view_t::x_iterator |
An iterator for traversing the pixels in a row. More... | |
using | fast_iterator = x_iterator |
A fast STL compliant iterator for contiguous images N.b. More... | |
using | xy_x_iterator = typename _view_t::x_iterator |
An iterator for traversing the pixels in a row, created from an xy_locator. More... | |
using | const_x_iterator = typename _const_view_t::x_iterator |
A const iterator for traversing the pixels in a row. More... | |
using | y_iterator = typename _view_t::y_iterator |
An iterator for traversing the pixels in a column. More... | |
using | xy_y_iterator = typename _view_t::y_iterator |
An iterator for traversing the pixels in a row, created from an xy_locator. More... | |
using | const_y_iterator = typename _const_view_t::y_iterator |
A const iterator for traversing the pixels in a column. More... | |
using | Array = typename ndarray::Array< PixelT, 2, 1 > |
A mutable ndarray representation of the image. More... | |
using | ConstArray = typename ndarray::Array< const PixelT, 2, 1 > |
An immutable ndarray representation of the image. More... | |
Public Member Functions | |
ImageBase (const lsst::geom::Extent2I &dimensions=lsst::geom::Extent2I()) | |
Allocator Constructor. More... | |
ImageBase (const lsst::geom::Box2I &bbox) | |
Allocator Constructor. More... | |
ImageBase (const ImageBase &src, const bool deep=false) | |
Copy constructor. More... | |
ImageBase (ImageBase &&src) | |
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. More... | |
template<typename OtherPixelT > | |
ImageBase (const ImageBase< OtherPixelT > &rhs, const bool deep) | |
generalised copy constructor More... | |
ImageBase (Array const &array, bool deep=false, lsst::geom::Point2I const &xy0=lsst::geom::Point2I()) | |
Construction from ndarray::Array and NumPy. More... | |
virtual | ~ImageBase ()=default |
ImageBase & | operator= (const ImageBase &rhs) |
Shallow assignment operator. More... | |
ImageBase & | operator= (ImageBase &&rhs) |
ImageBase & | operator= (const PixelT rhs) |
Set the image's pixels to rhs. More... | |
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. More... | |
PixelReference | operator() (int x, int y) |
Return a reference to the pixel (x, y) in LOCAL coordinates. More... | |
PixelReference | operator() (int x, int y, CheckIndices const &) |
Return a reference to the pixel (x, y) in LOCAL coordinates with bounds checking. More... | |
PixelConstReference | operator() (int x, int y) const |
Return a const reference to the pixel (x, y) in LOCAL coordinates. More... | |
PixelConstReference | operator() (int x, int y, CheckIndices const &) const |
Return a const reference to the pixel (x, y) in LOCAL coordinates with bounds checking. More... | |
PixelReference | get (lsst::geom::Point2I const &index, ImageOrigin origin) |
Return a reference to a single pixel (with no bounds check). More... | |
PixelConstReference | get (lsst::geom::Point2I const &index, ImageOrigin origin) const |
Return a const reference to a single pixel (with no bounds check). More... | |
PixelReference | operator[] (lsst::geom::Point2I const &index) |
Return a reference to a single pixel in PARENT coordinates (with no bounds check). More... | |
PixelConstReference | operator[] (lsst::geom::Point2I const &index) const |
Return a reference to a single pixel in PARENT coordinates (with no bounds check). More... | |
int | getWidth () const |
Return the number of columns in the image. More... | |
int | getHeight () const |
Return the number of rows in the image. More... | |
int | getArea () const |
Return the area of the image. More... | |
int | getX0 () const |
Return the image's column-origin. More... | |
int | getY0 () const |
Return the image's row-origin. More... | |
lsst::geom::Point2I | getXY0 () const |
Return the image's origin. More... | |
std::pair< int, double > | positionToIndex (double const pos, lsst::afw::image::xOrY const xy) const |
Convert image position to index (nearest integer and fractional parts) More... | |
double | indexToPosition (double ind, lsst::afw::image::xOrY const xy) const |
Convert image index to image position. More... | |
lsst::geom::Extent2I | getDimensions () const |
Return the image's size; useful for passing to constructors. More... | |
void | swap (ImageBase &rhs) |
Array | getArray () |
ConstArray | getArray () const |
iterator | begin () const |
Return an STL compliant iterator to the start of the image. More... | |
iterator | end () const |
Return an STL compliant iterator to the end of the image. More... | |
reverse_iterator | rbegin () const |
Return an STL compliant reverse iterator to the start of the image. More... | |
reverse_iterator | rend () const |
Return an STL compliant reverse iterator to the end of the image. More... | |
iterator | at (int x, int y) const |
Return an STL compliant iterator at the point (x, y) More... | |
fast_iterator | begin (bool contiguous) const |
Return a fast STL compliant iterator to the start of the image which must be contiguous. More... | |
fast_iterator | end (bool contiguous) const |
Return a fast STL compliant iterator to the end of the image which must be contiguous. More... | |
x_iterator | row_begin (int y) const |
Return an x_iterator to the start of the y 'th row. More... | |
x_iterator | row_end (int y) const |
Return an x_iterator to the end of the y 'th row. More... | |
x_iterator | x_at (int x, int y) const |
Return an x_iterator to the point (x, y) in the image. More... | |
y_iterator | col_begin (int x) const |
Return an y_iterator to the start of the y 'th row. More... | |
y_iterator | col_end (int x) const |
Return an y_iterator to the start of the y 'th row. More... | |
y_iterator | y_at (int x, int y) const |
Return an y_iterator to the point (x, y) in the image. More... | |
xy_locator | xy_at (int x, int y) const |
Return an xy_locator at the point (x, y) in the image. More... | |
void | setXY0 (lsst::geom::Point2I const origin) |
Set the ImageBase's origin. More... | |
void | setXY0 (int const x0, int const y0) |
Set the ImageBase's origin. More... | |
lsst::geom::Box2I | getBBox (ImageOrigin origin=PARENT) const |
Static Public Member Functions | |
template<typename SinglePixelT > | |
static SinglePixel | PixelCast (SinglePixelT rhs) |
Convert a type to our SinglePixel type. More... | |
Protected Member Functions | |
_view_t | _getRawView () const |
bool | isContiguous () const |
Static Protected Member Functions | |
static _view_t | _allocateView (lsst::geom::Extent2I const &dimensions, Manager::Ptr &manager) |
static _view_t | _makeSubView (lsst::geom::Extent2I const &dimensions, lsst::geom::Extent2I const &offset, const _view_t &view) |
Friends | |
template<typename OtherPixelT > | |
class | ImageBase |
template<typename > | |
class | DecoratedImage |
template<typename , typename , typename > | |
class | MaskedImage |
The base class for all image classed (Image, Mask, MaskedImage, ...)
Definition at line 102 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::Array = typename ndarray::Array<PixelT, 2, 1> |
A mutable ndarray representation of the image.
Definition at line 149 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::const_iterator = typename _const_view_t::iterator |
An STL compliant const iterator.
Definition at line 127 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::const_reverse_iterator = typename _const_view_t::reverse_iterator |
An STL compliant const reverse iterator.
Definition at line 131 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::const_x_iterator = typename _const_view_t::x_iterator |
A const iterator for traversing the pixels in a row.
Definition at line 141 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::const_xy_locator = typename _view_t::xy_locator::const_t |
A const_xy_locator.
Definition at line 123 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::const_y_iterator = typename _const_view_t::y_iterator |
A const iterator for traversing the pixels in a column.
Definition at line 147 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::ConstArray = typename ndarray::Array<const PixelT, 2, 1> |
An immutable ndarray representation of the image.
Definition at line 151 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::fast_iterator = x_iterator |
A fast STL compliant iterator for contiguous images N.b.
The order of pixel access is undefined
Definition at line 137 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::image_category = detail::basic_tag |
trait class to identify type of image
Definition at line 110 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::iterator = typename _view_t::iterator |
An STL compliant iterator.
Definition at line 125 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::Pixel = PixelT |
A pixel in this ImageBase.
Definition at line 115 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::PixelConstReference = typename ConstReference<PixelT>::type |
A ConstReference to a PixelT.
Definition at line 119 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::PixelReference = typename Reference<PixelT>::type |
A Reference to a PixelT.
Definition at line 117 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::reverse_iterator = typename _view_t::reverse_iterator |
An STL compliant reverse iterator.
Definition at line 129 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::SinglePixel = PixelT |
A single Pixel of the same type as those in the ImageBase.
Definition at line 113 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::x_iterator = typename _view_t::x_iterator |
An iterator for traversing the pixels in a row.
Definition at line 133 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::xy_locator = typename _view_t::xy_locator |
An xy_locator.
Definition at line 121 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::xy_x_iterator = typename _view_t::x_iterator |
An iterator for traversing the pixels in a row, created from an xy_locator.
Definition at line 139 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::xy_y_iterator = typename _view_t::y_iterator |
An iterator for traversing the pixels in a row, created from an xy_locator.
Definition at line 145 of file ImageBase.h.
using lsst::afw::image::ImageBase< PixelT >::y_iterator = typename _view_t::y_iterator |
An iterator for traversing the pixels in a column.
Definition at line 143 of file ImageBase.h.
|
explicit |
Allocator Constructor.
allocate a new image with the specified dimensions. Sets origin at (0,0)
Definition at line 89 of file Image.cc.
|
explicit |
lsst::afw::image::ImageBase< PixelT >::ImageBase | ( | const ImageBase< PixelT > & | src, |
const bool | deep = false |
||
) |
Copy constructor.
src | Right-hand-side image |
deep | If false, new ImageBase shares storage with src ; if true make a new, standalone, ImageBase |
deep
is true
, the new image will share the old image's pixels; this may not be what you want. See also assign(rhs) to copy pixels between Images Definition at line 97 of file Image.cc.
lsst::afw::image::ImageBase< PixelT >::ImageBase | ( | ImageBase< PixelT > && | src | ) |
|
explicit |
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.
src | Right-hand-side image |
bbox | Specify desired region |
origin | Specify the coordinate system of the bbox |
deep | If false, new ImageBase shares storage with src ; if true make a new, standalone, ImageBase |
deep
is true
, the new image will share the old image's pixels; this is probably what you want Definition at line 112 of file Image.cc.
|
inline |
generalised copy constructor
defined here in the header so that the compiler can instantiate N(N-1) conversions between N ImageBase types.
Definition at line 217 of file ImageBase.h.
|
explicit |
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++.
Definition at line 127 of file Image.cc.
|
virtualdefault |
|
staticprotected |
Definition at line 45 of file Image.cc.
|
inlineprotected |
Definition at line 465 of file ImageBase.h.
|
staticprotected |
Definition at line 65 of file Image.cc.
void lsst::afw::image::ImageBase< PixelT >::assign | ( | ImageBase< PixelT > 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.
[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 |
lsst::pex::exceptions::LengthError | if the dimensions of rhs and the specified subregion of this image do not match. |
Definition at line 153 of file Image.cc.
ImageBase< PixelT >::iterator lsst::afw::image::ImageBase< PixelT >::at | ( | int | x, |
int | y | ||
) | const |
ImageBase< PixelT >::iterator lsst::afw::image::ImageBase< PixelT >::begin |
Return an STL compliant iterator to the start of the image.
Note that this isn't especially efficient; see Image Iterators for a discussion
ImageBase< PixelT >::fast_iterator lsst::afw::image::ImageBase< PixelT >::begin | ( | bool | contiguous | ) | const |
Return a fast STL compliant iterator to the start of the image which must be contiguous.
contiguous | Pixels are contiguous (must be true) |
lsst::pex::exceptions::RuntimeError | Argument contiguous is false, or the pixels are not in fact contiguous |
Definition at line 275 of file Image.cc.
|
inline |
Return an y_iterator
to the start of the y
'th row.
Incrementing an y_iterator
moves it up the column
Definition at line 413 of file ImageBase.h.
|
inline |
ImageBase< PixelT >::iterator lsst::afw::image::ImageBase< PixelT >::end |
ImageBase< PixelT >::fast_iterator lsst::afw::image::ImageBase< PixelT >::end | ( | bool | contiguous | ) | const |
Return a fast STL compliant iterator to the end of the image which must be contiguous.
contiguous | Pixels are contiguous (must be true) |
lsst::pex::exceptions::RuntimeError | Argument contiguous is false, or the pixels are not in fact contiguous |
Definition at line 287 of file Image.cc.
ImageBase< PixelT >::PixelReference lsst::afw::image::ImageBase< PixelT >::get | ( | lsst::geom::Point2I const & | index, |
ImageOrigin | origin | ||
) |
Return a reference to a single pixel (with no bounds check).
Definition at line 209 of file Image.cc.
ImageBase< PixelT >::PixelConstReference lsst::afw::image::ImageBase< PixelT >::get | ( | lsst::geom::Point2I const & | index, |
ImageOrigin | origin | ||
) | const |
|
inline |
Return the area of the image.
Definition at line 298 of file ImageBase.h.
ImageBase< PixelT >::Array lsst::afw::image::ImageBase< PixelT >::getArray |
Definition at line 476 of file ImageBase.h.
ImageBase< PixelT >::ConstArray lsst::afw::image::ImageBase< PixelT >::getArray |
Definition at line 491 of file ImageBase.h.
|
inline |
Definition at line 445 of file ImageBase.h.
|
inline |
Return the image's size; useful for passing to constructors.
Definition at line 356 of file ImageBase.h.
|
inline |
Return the number of rows in the image.
Definition at line 296 of file ImageBase.h.
|
inline |
Return the number of columns in the image.
Definition at line 294 of file ImageBase.h.
|
inline |
Return the image's column-origin.
This will usually be 0 except for images created using the ImageBase(fileName, hdu, BBox, mode)
ctor or ImageBase(ImageBase, BBox)
cctor The origin can be reset with setXY0
Definition at line 306 of file ImageBase.h.
|
inline |
Return the image's origin.
This will usually be (0, 0) except for images created using the ImageBase(fileName, hdu, BBox, mode)
ctor or ImageBase(ImageBase, BBox)
cctor The origin can be reset with setXY0
Definition at line 323 of file ImageBase.h.
|
inline |
Return the image's row-origin.
This will usually be 0 except for images created using the ImageBase(fileName, hdu, BBox, mode)
ctor or ImageBase(ImageBase, BBox)
cctor The origin can be reset with setXY0
Definition at line 314 of file ImageBase.h.
|
inline |
Convert image index to image position.
The LSST indexing convention is:
ind | image index |
xy | Is this a column or row coordinate? |
Definition at line 349 of file ImageBase.h.
|
inlineprotected |
Definition at line 467 of file ImageBase.h.
ImageBase< PixelT >::PixelReference lsst::afw::image::ImageBase< PixelT >::operator() | ( | int | x, |
int | y | ||
) |
Return a reference to the pixel (x, y)
in LOCAL coordinates.
Definition at line 171 of file Image.cc.
ImageBase< PixelT >::PixelConstReference lsst::afw::image::ImageBase< PixelT >::operator() | ( | int | x, |
int | y | ||
) | const |
ImageBase< PixelT >::PixelReference lsst::afw::image::ImageBase< PixelT >::operator() | ( | int | x, |
int | y, | ||
CheckIndices const & | check | ||
) |
ImageBase< PixelT >::PixelConstReference lsst::afw::image::ImageBase< PixelT >::operator() | ( | int | x, |
int | y, | ||
CheckIndices const & | check | ||
) | const |
ImageBase< PixelT > & lsst::afw::image::ImageBase< PixelT >::operator= | ( | const ImageBase< PixelT > & | rhs | ) |
Shallow assignment operator.
ImageBase< PixelT > & lsst::afw::image::ImageBase< PixelT >::operator= | ( | const PixelT | rhs | ) |
ImageBase< PixelT > & lsst::afw::image::ImageBase< PixelT >::operator= | ( | ImageBase< PixelT > && | rhs | ) |
|
inline |
Return a reference to a single pixel in PARENT coordinates (with no bounds check).
Definition at line 288 of file ImageBase.h.
|
inline |
Return a reference to a single pixel in PARENT coordinates (with no bounds check).
Definition at line 291 of file ImageBase.h.
|
inlinestatic |
Convert a type to our SinglePixel type.
Definition at line 158 of file ImageBase.h.
|
inline |
Convert image position to index (nearest integer and fractional parts)
pos | image position |
xy | Is this a column or row coordinate? |
Definition at line 330 of file ImageBase.h.
ImageBase< PixelT >::reverse_iterator lsst::afw::image::ImageBase< PixelT >::rbegin |
ImageBase< PixelT >::reverse_iterator lsst::afw::image::ImageBase< PixelT >::rend |
|
inline |
Return an x_iterator
to the start of the y
'th row.
Incrementing an x_iterator
moves it across the row
Definition at line 401 of file ImageBase.h.
|
inline |
|
inline |
Set the ImageBase's origin.
The origin is usually set by the constructor, so you shouldn't need this function
Definition at line 443 of file ImageBase.h.
|
inline |
Set the ImageBase's origin.
The origin is usually set by the constructor, so you shouldn't need this function
Definition at line 434 of file ImageBase.h.
void lsst::afw::image::ImageBase< PixelT >::swap | ( | ImageBase< PixelT > & | rhs | ) |
|
inline |
Return an x_iterator
to the point (x, y)
in the image.
Definition at line 407 of file ImageBase.h.
|
inline |
Return an xy_locator
at the point (x, y)
in the image.
Locators may be used to access a patch in an image
Definition at line 425 of file ImageBase.h.
|
inline |
Return an y_iterator
to the point (x, y)
in the image.
Definition at line 419 of file ImageBase.h.
Definition at line 154 of file ImageBase.h.
Definition at line 166 of file ImageBase.h.
|
friend |
Definition at line 168 of file ImageBase.h.