00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkImageSliceIteratorWithIndex_h
00018 #define __itkImageSliceIteratorWithIndex_h
00019
00020 #include "itkImageSliceConstIteratorWithIndex.h"
00021 #include "itkImageIteratorWithIndex.h"
00022
00023 namespace itk
00024 {
00025
00067 template<typename TImage>
00068 class ITK_EXPORT ImageSliceIteratorWithIndex : public ImageSliceConstIteratorWithIndex<TImage>
00069 {
00070 public:
00072 typedef ImageSliceIteratorWithIndex Self;
00073 typedef ImageSliceConstIteratorWithIndex<TImage> Superclass;
00074
00076 typedef typename Superclass::IndexType IndexType;
00077 typedef typename Superclass::IndexValueType IndexValueType;
00078 typedef typename Superclass::SizeType SizeType;
00079 typedef typename Superclass::SizeValueType SizeValueType;
00080 typedef typename Superclass::OffsetType OffsetType;
00081 typedef typename Superclass::OffsetValueType OffsetValueType;
00082 typedef typename Superclass::RegionType RegionType;
00083 typedef typename Superclass::ImageType ImageType;
00084 typedef typename Superclass::PixelContainer PixelContainer;
00085 typedef typename Superclass::PixelContainerPointer PixelContainerPointer;
00086 typedef typename Superclass::InternalPixelType InternalPixelType;
00087 typedef typename Superclass::PixelType PixelType;
00088 typedef typename Superclass::AccessorType AccessorType;
00089
00090
00092 ImageSliceIteratorWithIndex();
00093
00096 ImageSliceIteratorWithIndex(ImageType *ptr, const RegionType& region);
00097
00104 ImageSliceIteratorWithIndex( const ImageIteratorWithIndex<TImage> &it);
00105
00107 void Set( const PixelType & value) const
00108 { this->m_PixelAccessor.Set(*(const_cast<InternalPixelType *>(this->m_Position)),value); }
00109
00113 PixelType & Value(void)
00114 { return *(const_cast<InternalPixelType *>(this->m_Position)); }
00115
00116 protected:
00119 ImageSliceIteratorWithIndex( const ImageSliceConstIteratorWithIndex<TImage> &it);
00120 Self & operator=(const ImageSliceConstIteratorWithIndex<TImage> & it);
00121
00122
00123 };
00124
00125 }
00126
00127 #ifndef ITK_MANUAL_INSTANTIATION
00128 #include "itkImageSliceIteratorWithIndex.txx"
00129 #endif
00130
00131 #endif
00132
00133
00134