LSSTApplications  18.1.0
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 100 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 126 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 133 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 215 of file MaskedImage.h.

216  : 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 151 of file MaskedImage.h.

151 { 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 140 of file MaskedImage.h.

140 { 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 143 of file MaskedImage.h.

143 { 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 193 of file MaskedImage.h.

193  {
194  return Pixel(_iter->template get<0>()[0], _iter->template get<1>()[0],
195  _iter->template get<2>()[0]);
196  }
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 185 of file MaskedImage.h.

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

◆ 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 199 of file MaskedImage.h.

199 { 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:143
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:146
Reference< ImagePixelT >::type image()
Return (a reference to) the image part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:140

◆ 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 201 of file MaskedImage.h.

201 { 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:143
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:146
Reference< ImagePixelT >::type image()
Return (a reference to) the image part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:140

◆ 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 218 of file MaskedImage.h.

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

◆ 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 166 of file MaskedImage.h.

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

◆ 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 171 of file MaskedImage.h.

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

◆ 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 154 of file MaskedImage.h.

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

◆ 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 177 of file MaskedImage.h.

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

◆ 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 160 of file MaskedImage.h.

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

◆ 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 189 of file MaskedImage.h.

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

◆ 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 181 of file MaskedImage.h.

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

◆ 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 146 of file MaskedImage.h.

146 { 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 204 of file MaskedImage.h.


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