LSST Applications g02d81e74bb+86cf3d8bc9,g180d380827+7a4e862ed4,g2079a07aa2+86d27d4dc4,g2305ad1205+e1ca1c66fa,g29320951ab+012e1474a1,g295015adf3+341ea1ce94,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g33d1c0ed96+0e5473021a,g3a166c0a6a+0e5473021a,g3ddfee87b4+c429d67c83,g48712c4677+f88676dd22,g487adcacf7+27e1e21933,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+b41db86c35,g5a732f18d5+53520f316c,g64a986408d+86cf3d8bc9,g858d7b2824+86cf3d8bc9,g8a8a8dda67+585e252eca,g99cad8db69+84912a7fdc,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+a2b54eae19,gb0e22166c9+60f28cb32d,gba4ed39666+c2a2e4ac27,gbb8dafda3b+6681f309db,gc120e1dc64+f0fcc2f6d8,gc28159a63d+0e5473021a,gcf0d15dbbd+c429d67c83,gdaeeff99f8+f9a426f77a,ge6526c86ff+0433e6603d,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gff1a9f87cc+86cf3d8bc9,w.2024.17
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | 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>

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

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.

138 : _iter(boost::make_zip_iterator(boost::make_tuple(img, msk, var))) {}
boost::zip_iterator< IMV_iterator_tuple > _iter

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()); }
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.

◆ 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
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.

◆ 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: