LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Protected Attributes | Private Types | Friends | List of all members
lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref > Class Template Reference

The base class for MaskedImageIterators (const and non-const) More...

#include <MaskedImage.h>

Public Types

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

Public Member Functions

 MaskedImageIteratorBase (ImageIterator const &img, MaskIterator const &msk, VarianceIterator const &var)
 Construct a MaskedImageIteratorBase from the image/mask/variance iterators. More...
 
Ref< ImagePixelT >::type image ()
 Return (a reference to) the image part of the Pixel pointed at by the iterator. More...
 
Ref< MaskPixelT >::type mask ()
 Return (a reference to) the mask part of the Pixel pointed at by the iterator. More...
 
Ref< 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
 
void operator+= (std::ptrdiff_t delta)
 Increment the iterator by delta. More...
 
void operator-= (std::ptrdiff_t delta)
 Decrement the iterator by delta. More...
 
void operator++ ()
 Increment the iterator (prefix) More...
 
void 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
 

Private Types

typedef boost::tuple
< ImageIterator, MaskIterator,
VarianceIterator > 
IMV_iterator_tuple
 

Friends

template<typename , typename , typename >
class const_MaskedImageIterator
 

Detailed Description

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

The base class for MaskedImageIterators (const and non-const)

Definition at line 129 of file MaskedImage.h.

Member Typedef Documentation

template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
typedef boost::tuple<ImageIterator, MaskIterator, VarianceIterator> lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::IMV_iterator_tuple
private

Definition at line 130 of file MaskedImage.h.

template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
typedef boost::zip_iterator<IMV_iterator_tuple>::reference lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::IMV_tuple

The underlying iterator tuple

Note
not really for public consumption; could be made protected

Definition at line 135 of file MaskedImage.h.

template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
typedef Pixel lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::type

Type pointed to by the iterator.

Definition at line 140 of file MaskedImage.h.

Constructor & Destructor Documentation

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

Construct a MaskedImageIteratorBase from the image/mask/variance iterators.

Definition at line 143 of file MaskedImage.h.

143  :
144  _iter(boost::make_zip_iterator(boost::make_tuple(img, msk, var))) {
145  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218

Member Function Documentation

template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
const IMV_iterator_tuple lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::get_iterator_tuple ( ) const
inline

Return the underlying iterator tuple

Note
not really for public consumption; could be made protected

Definition at line 163 of file MaskedImage.h.

163  {
164  return _iter.get_iterator_tuple();
165  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
Ref<ImagePixelT>::type lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::image ( )
inline

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

Definition at line 147 of file MaskedImage.h.

147  {
148  return _iter->template get<0>()[0];
149  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
Ref<MaskPixelT>::type lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::mask ( )
inline

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

Definition at line 152 of file MaskedImage.h.

152  {
153  return _iter->template get<1>()[0];
154  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator Pixel ( ) const
inline

Convert an iterator to a Pixel.

Definition at line 202 of file MaskedImage.h.

202  {
203  return Pixel(_iter->template get<0>()[0],
204  _iter->template get<1>()[0],
205  _iter->template get<2>()[0]);
206  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
lsst::afw::image::pixel::Pixel< ImagePixelT, MaskPixelT, VariancePixelT > Pixel
A Pixel in the MaskedImage.
Definition: MaskedImage.h:115
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
bool lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator!= ( MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref > const &  rhs)
inline

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

Definition at line 194 of file MaskedImage.h.

194  {
195  return &this->_iter->template get<0>() != &rhs._iter->template get<0>();
196  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
Pixel lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator* ( )
inline

Dereference the iterator, returning a Pixel.

Definition at line 209 of file MaskedImage.h.

209  {
210  return Pixel(image(), mask(), variance());
211  }
Ref< MaskPixelT >::type mask()
Return (a reference to) the mask part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:152
lsst::afw::image::pixel::Pixel< ImagePixelT, MaskPixelT, VariancePixelT > Pixel
A Pixel in the MaskedImage.
Definition: MaskedImage.h:115
Ref< VariancePixelT >::type variance()
Return (a reference to) the variance part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:157
Ref< ImagePixelT >::type image()
Return (a reference to) the image part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:147
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
const Pixel lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator* ( ) const
inline

Dereference the iterator, returning a const Pixel.

Definition at line 213 of file MaskedImage.h.

213  {
214  return Pixel(image(), mask(), variance());
215  }
Ref< MaskPixelT >::type mask()
Return (a reference to) the mask part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:152
lsst::afw::image::pixel::Pixel< ImagePixelT, MaskPixelT, VariancePixelT > Pixel
A Pixel in the MaskedImage.
Definition: MaskedImage.h:115
Ref< VariancePixelT >::type variance()
Return (a reference to) the variance part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:157
Ref< ImagePixelT >::type image()
Return (a reference to) the image part of the Pixel pointed at by the iterator.
Definition: MaskedImage.h:147
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
void lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator++ ( )
inline

Increment the iterator (prefix)

Definition at line 178 of file MaskedImage.h.

178  { // prefix
179  ++_iter;
180  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
void lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator++ ( int  )
inline

Increment the iterator (postfix)

Definition at line 182 of file MaskedImage.h.

182  { // postfix
183  _iter++;
184  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
void lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator+= ( std::ptrdiff_t  delta)
inline

Increment the iterator by delta.

Parameters
deltahow far to move the iterator

Definition at line 168 of file MaskedImage.h.

169  {
170  _iter += delta;
171  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
std::ptrdiff_t lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator- ( MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref > const &  rhs)
inline

Return the distance between two iterators.

Definition at line 186 of file MaskedImage.h.

186  {
187  return &this->_iter->template get<0>() - &rhs._iter->template get<0>();
188  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
void lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator-= ( std::ptrdiff_t  delta)
inline

Decrement the iterator by delta.

Parameters
deltahow far to move the iterator

Definition at line 173 of file MaskedImage.h.

174  {
175  _iter -= delta;
176  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
bool lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator< ( MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref > const &  rhs)
inline

Return true if the lhs is less than the rhs.

Definition at line 198 of file MaskedImage.h.

198  {
199  return &this->_iter->template get<0>() < &rhs._iter->template get<0>();
200  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
bool lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator== ( MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref > const &  rhs)
inline

Return true if the lhs equals the rhs.

Definition at line 190 of file MaskedImage.h.

190  {
191  return &this->_iter->template get<0>() == &rhs._iter->template get<0>();
192  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218
template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
Ref<VariancePixelT>::type lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::variance ( )
inline

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

Definition at line 157 of file MaskedImage.h.

157  {
158  return _iter->template get<2>()[0];
159  }
boost::zip_iterator< IMV_iterator_tuple > _iter
Definition: MaskedImage.h:218

Friends And Related Function Documentation

template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
template<typename , typename , typename >
friend class const_MaskedImageIterator
friend

The underlying const iterator tuple

Note
not really for public consumption; could be made protected

Definition at line 138 of file MaskedImage.h.

Member Data Documentation

template<typename ImagePixelT, typename MaskPixelT = lsst::afw::image::MaskPixel, typename VariancePixelT = lsst::afw::image::VariancePixel>
template<typename ImageIterator, typename MaskIterator, typename VarianceIterator, template< typename > class Ref = Reference>
boost::zip_iterator<IMV_iterator_tuple> lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::_iter
protected

Definition at line 218 of file MaskedImage.h.


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