LSSTApplications  18.0.0+106,18.0.0+50,19.0.0,19.0.0+1,19.0.0+10,19.0.0+11,19.0.0+13,19.0.0+17,19.0.0+2,19.0.0-1-g20d9b18+6,19.0.0-1-g425ff20,19.0.0-1-g5549ca4,19.0.0-1-g580fafe+6,19.0.0-1-g6fe20d0+1,19.0.0-1-g7011481+9,19.0.0-1-g8c57eb9+6,19.0.0-1-gb5175dc+11,19.0.0-1-gdc0e4a7+9,19.0.0-1-ge272bc4+6,19.0.0-1-ge3aa853,19.0.0-10-g448f008b,19.0.0-12-g6990b2c,19.0.0-2-g0d9f9cd+11,19.0.0-2-g3d9e4fb2+11,19.0.0-2-g5037de4,19.0.0-2-gb96a1c4+3,19.0.0-2-gd955cfd+15,19.0.0-3-g2d13df8,19.0.0-3-g6f3c7dc,19.0.0-4-g725f80e+11,19.0.0-4-ga671dab3b+1,19.0.0-4-gad373c5+3,19.0.0-5-ga2acb9c+2,19.0.0-5-gfe96e6c+2,w.2020.01
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Protected Attributes | List of all members
lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIterator< ImageIterator, MaskIterator, VarianceIterator > Class Template Reference

An iterator to the MaskedImage. More...

#include <MaskedImage.h>

Inheritance diagram for lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIterator< ImageIterator, MaskIterator, VarianceIterator >:
lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator > lsst::afw::math::MaskedVector< EntryT >::iterator

Public Types

typedef boost::zip_iterator< IMV_iterator_tuple >::reference IMV_tuple
 The underlying iterator tuple. More...
 
typedef Pixel type
 Type pointed to by the iterator. More...
 

Public Member Functions

 MaskedImageIterator (ImageIterator &img, MaskIterator &msk, VarianceIterator &var)
 
MaskedImageIterator operator+ (std::ptrdiff_t delta)
 Return a MaskedImageIterator that's delta beyond this. More...
 
Reference< ImagePixelT >::type image ()
 Return (a reference to) the image part of the Pixel pointed at by the iterator. More...
 
Reference< MaskPixelT >::type mask ()
 Return (a reference to) the mask part of the Pixel pointed at by the iterator. More...
 
Reference< VariancePixelT >::type variance ()
 Return (a reference to) the variance part of the Pixel pointed at by the iterator. More...
 
const IMV_iterator_tuple get_iterator_tuple () const
 Return the underlying iterator tuple. More...
 
MaskedImageIteratorBaseoperator+= (std::ptrdiff_t delta)
 Increment the iterator by delta More...
 
MaskedImageIteratorBaseoperator-= (std::ptrdiff_t delta)
 Decrement the iterator by delta More...
 
MaskedImageIteratorBaseoperator++ ()
 Increment the iterator (prefix) More...
 
MaskedImageIteratorBase operator++ (int)
 Increment the iterator (postfix) More...
 
std::ptrdiff_t operator- (MaskedImageIteratorBase const &rhs)
 Return the distance between two iterators. More...
 
bool operator== (MaskedImageIteratorBase const &rhs)
 Return true if the lhs equals the rhs. More...
 
bool operator!= (MaskedImageIteratorBase const &rhs)
 Return true if the lhs doesn't equal the rhs. More...
 
bool operator< (MaskedImageIteratorBase const &rhs)
 Return true if the lhs is less than the rhs. More...
 
 operator Pixel () const
 Convert an iterator to a Pixel. More...
 
Pixel operator* ()
 Dereference the iterator, returning a Pixel. More...
 
const Pixel operator* () const
 Dereference the iterator, returning a const Pixel. More...
 

Protected Attributes

boost::zip_iterator< IMV_iterator_tuple > _iter
 

Detailed Description

template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator>
class lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIterator< ImageIterator, MaskIterator, VarianceIterator >

An iterator to the MaskedImage.

An iterator for a MaskedImage.

Definition at line 99 of file MaskedImage.h.

Member Typedef Documentation

◆ IMV_tuple

typedef boost::zip_iterator<IMV_iterator_tuple>::reference lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::IMV_tuple
inherited

The underlying iterator tuple.

Note
not really for public consumption; could be made protected

Definition at line 125 of file MaskedImage.h.

◆ type

typedef Pixel lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::type
inherited

Type pointed to by the iterator.

Definition at line 132 of file MaskedImage.h.

Constructor & Destructor Documentation

◆ MaskedImageIterator()

template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator>
lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIterator< ImageIterator, MaskIterator, VarianceIterator >::MaskedImageIterator ( ImageIterator &  img,
MaskIterator &  msk,
VarianceIterator &  var 
)
inline

Definition at line 214 of file MaskedImage.h.

215  : MaskedImageIteratorBase_t(img, msk, var) {}

Member Function Documentation

◆ get_iterator_tuple()

const IMV_iterator_tuple lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::get_iterator_tuple ( ) const
inlineinherited

Return the underlying iterator tuple.

Note
not really for public consumption; could be made protected

Definition at line 150 of file MaskedImage.h.

150 { return _iter.get_iterator_tuple(); }

◆ image()

Reference <ImagePixelT>::type lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::image ( )
inlineinherited

Return (a reference to) the image part of the Pixel pointed at by the iterator.

Definition at line 139 of file MaskedImage.h.

139 { return _iter->template get<0>()[0]; }

◆ mask()

Reference <MaskPixelT>::type lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::mask ( )
inlineinherited

Return (a reference to) the mask part of the Pixel pointed at by the iterator.

Definition at line 142 of file MaskedImage.h.

142 { return _iter->template get<1>()[0]; }

◆ operator Pixel()

lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::operator Pixel ( ) const
inlineinherited

Convert an iterator to a Pixel.

Definition at line 192 of file MaskedImage.h.

192  {
193  return Pixel(_iter->template get<0>()[0], _iter->template get<1>()[0],
194  _iter->template get<2>()[0]);
195  }
float Pixel
Typedefs to be used for pixel values.
Definition: common.h:37

◆ operator!=()

bool lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::operator!= ( MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator > const &  rhs)
inlineinherited

Return true if the lhs doesn't equal the rhs.

Definition at line 184 of file MaskedImage.h.

184  {
185  return &this->_iter->template get<0>() != &rhs._iter->template get<0>();
186  }

◆ operator*() [1/2]

Pixel lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::operator* ( )
inlineinherited

Dereference the iterator, returning a Pixel.

Definition at line 198 of file MaskedImage.h.

198 { return Pixel(image(), mask(), variance()); }
Reference< MaskPixelT >::type mask()
Return (a reference to) the mask part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:142
float Pixel
Typedefs to be used for pixel values.
Definition: common.h:37
Reference< VariancePixelT >::type variance()
Return (a reference to) the variance part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:145
Reference< ImagePixelT >::type image()
Return (a reference to) the image part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:139

◆ operator*() [2/2]

const Pixel lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::operator* ( ) const
inlineinherited

Dereference the iterator, returning a const Pixel.

Definition at line 200 of file MaskedImage.h.

200 { return Pixel(image(), mask(), variance()); }
Reference< MaskPixelT >::type mask()
Return (a reference to) the mask part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:142
float Pixel
Typedefs to be used for pixel values.
Definition: common.h:37
Reference< VariancePixelT >::type variance()
Return (a reference to) the variance part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:145
Reference< ImagePixelT >::type image()
Return (a reference to) the image part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:139

◆ operator+()

template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator>
MaskedImageIterator lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIterator< ImageIterator, MaskIterator, VarianceIterator >::operator+ ( std::ptrdiff_t  delta)
inline

Return a MaskedImageIterator that's delta beyond this.

Definition at line 217 of file MaskedImage.h.

217  {
218  MaskedImageIterator lhs = *this;
219  lhs += delta;
220 
221  return lhs;
222  }
MaskedImageIterator(ImageIterator &img, MaskIterator &msk, VarianceIterator &var)
Definition: MaskedImage.h:214

◆ operator++() [1/2]

MaskedImageIteratorBase& lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::operator++ ( )
inlineinherited

Increment the iterator (prefix)

Definition at line 165 of file MaskedImage.h.

165  { // prefix
166  ++_iter;
167  return *this;
168  }

◆ operator++() [2/2]

MaskedImageIteratorBase lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::operator++ ( int  )
inlineinherited

Increment the iterator (postfix)

Definition at line 170 of file MaskedImage.h.

170  { // postfix
171  MaskedImageIteratorBase tmp(*this);
172  _iter++;
173  return tmp;
174  }
MaskedImageIteratorBase(ImageIterator const &img, MaskIterator const &msk, VarianceIterator const &var)
Construct a MaskedImageIteratorBase from the image/mask/variance iterators.
Definition: MaskedImage.h:135

◆ operator+=()

MaskedImageIteratorBase& lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::operator+= ( std::ptrdiff_t  delta)
inlineinherited

Increment the iterator by delta

Parameters
deltahow far to move the iterator

Definition at line 153 of file MaskedImage.h.

154  {
155  _iter += delta;
156  return *this;
157  }

◆ operator-()

std::ptrdiff_t lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::operator- ( MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator > const &  rhs)
inlineinherited

Return the distance between two iterators.

Definition at line 176 of file MaskedImage.h.

176  {
177  return &this->_iter->template get<0>() - &rhs._iter->template get<0>();
178  }

◆ operator-=()

MaskedImageIteratorBase& lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::operator-= ( std::ptrdiff_t  delta)
inlineinherited

Decrement the iterator by delta

Parameters
deltahow far to move the iterator

Definition at line 159 of file MaskedImage.h.

160  {
161  _iter -= delta;
162  return *this;
163  }

◆ operator<()

bool lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::operator< ( MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator > const &  rhs)
inlineinherited

Return true if the lhs is less than the rhs.

Definition at line 188 of file MaskedImage.h.

188  {
189  return &this->_iter->template get<0>() < &rhs._iter->template get<0>();
190  }

◆ operator==()

bool lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::operator== ( MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator > const &  rhs)
inlineinherited

Return true if the lhs equals the rhs.

Definition at line 180 of file MaskedImage.h.

180  {
181  return &this->_iter->template get<0>() == &rhs._iter->template get<0>();
182  }

◆ variance()

Reference <VariancePixelT>::type lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::variance ( )
inlineinherited

Return (a reference to) the variance part of the Pixel pointed at by the iterator.

Definition at line 145 of file MaskedImage.h.

145 { return _iter->template get<2>()[0]; }

Member Data Documentation

◆ _iter

boost::zip_iterator<IMV_iterator_tuple> lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Reference >::_iter
protectedinherited

Definition at line 203 of file MaskedImage.h.


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