LSST Applications g04e9c324dd+8c5ae1fdc5,g0644efc3f0+7e72ced385,g123d84c11c+8c5ae1fdc5,g1ec0fe41b4+6ec6b74de1,g1fd858c14a+1d778e1869,g3533f9d6cb+7e72ced385,g35bb328faa+8c5ae1fdc5,g35ef7ab7cf+460d7c47aa,g53246c7159+8c5ae1fdc5,g60b5630c4e+7e72ced385,g60c8b41c57+095f713f68,g663da51e9b+6aff55297d,g6735e52a0d+29de3d959a,g67b6fd64d1+57193d00fb,g7605de067c+eb240d2b47,g78460c75b0+7e33a9eb6d,g786e29fd12+668abc6043,g844c57033c+03ddc13274,g8852436030+670976b475,g89139ef638+57193d00fb,g989de1cb63+57193d00fb,g9f33ca652e+a4f2b81461,ga1e959baac+5fbc491aed,ga2f891cd6c+7e72ced385,gabe3b4be73+8856018cbb,gabf8522325+cc757f8247,gac2eed3f23+57193d00fb,gb1101e3267+3b5d6a3d0b,gb89ab40317+57193d00fb,gcf25f946ba+670976b475,gd107969129+b3ac407438,gd6cbbdb0b4+8e46defd2a,gde0f65d7ad+eb00ebb37f,ge278dab8ac+2322f1d6ea,ge410e46f29+57193d00fb,gf30d85a44d+9b77053554,gf5e32f922b+8c5ae1fdc5,gff02db199a+bb6b2c7d57,w.2025.28
LSST Data Management Base Package
Loading...
Searching...
No Matches
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>

Inheritance diagram for lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >:
lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIterator< typename Image::iterator, typename Mask::iterator, typename Variance::iterator > lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIterator< typename Image::reverse_iterator, typename Mask::reverse_iterator, typename Variance::reverse_iterator > lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIterator< typename Image::x_iterator, typename Mask::x_iterator, typename Variance::x_iterator > lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIterator< typename Image::y_iterator, typename Mask::y_iterator, typename Variance::y_iterator > lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::const_MaskedImageIterator< typename Image::iterator, typename Mask::iterator, typename Variance::iterator > lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::const_MaskedImageIterator< typename Image::x_iterator, typename Mask::x_iterator, typename Variance::x_iterator > lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::const_MaskedImageIterator< typename Image::y_iterator, typename Mask::y_iterator, typename Variance::y_iterator > lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIterator< ImageIterator, MaskIterator, VarianceIterator >

Public Types

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

Public Member Functions

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

Protected Attributes

boost::zip_iterator< IMV_iterator_tuple > _iter
 

Friends

template<typename, typename, typename>
class const_MaskedImageIterator
 The underlying const iterator tuple.
 

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

Member Typedef Documentation

◆ IMV_tuple

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>
using lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::IMV_tuple = typename boost::zip_iterator<IMV_iterator_tuple>::reference

The underlying iterator tuple.

Note
not really for public consumption; could be made protected

Definition at line 126 of file MaskedImage.h.

◆ type

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>
using lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::type = Pixel

Type pointed to by the iterator.

Definition at line 133 of file MaskedImage.h.

Constructor & Destructor Documentation

◆ MaskedImageIteratorBase()

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

A class to manipulate images, masks, and variance as a single object.
Definition MaskedImage.h:74

Member Function Documentation

◆ get_iterator_tuple()

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

151{ return _iter.get_iterator_tuple(); }

◆ image()

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

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

◆ mask()

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

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

◆ operator Pixel()

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 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 }
lsst::afw::image::pixel::Pixel< ImagePixelT, MaskPixelT, VariancePixelT > Pixel
A Pixel in the MaskedImage.

◆ operator!=()

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

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

◆ operator*() [1/2]

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

199{ return Pixel(image(), mask(), variance()); }

◆ operator*() [2/2]

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

201{ return Pixel(image(), mask(), variance()); }

◆ operator++() [1/2]

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>
MaskedImageIteratorBase & lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator++ ( )
inline

Increment the iterator (prefix)

Definition at line 166 of file MaskedImage.h.

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

◆ operator++() [2/2]

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>
MaskedImageIteratorBase lsst::afw::image::MaskedImage< ImagePixelT, MaskPixelT, VariancePixelT >::MaskedImageIteratorBase< ImageIterator, MaskIterator, VarianceIterator, Ref >::operator++ ( int )
inline

Increment the iterator (postfix)

Definition at line 171 of file MaskedImage.h.

171 { // postfix
173 _iter++;
174 return tmp;
175 }

◆ operator+=()

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

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

◆ operator-()

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

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

◆ operator-=()

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

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

◆ operator<()

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

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

◆ operator==()

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

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

◆ variance()

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

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

Friends And Related Symbol Documentation

◆ const_MaskedImageIterator

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

Member Data Documentation

◆ _iter

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


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