00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkImageRegionIteratorWithIndex_h
00018 #define __itkImageRegionIteratorWithIndex_h
00019
00020 #include "itkImageRegionConstIteratorWithIndex.h"
00021 #include "itkImageIteratorWithIndex.h"
00022
00023 namespace itk
00024 {
00025
00041 template<typename TImage>
00042 class ITK_EXPORT ImageRegionIteratorWithIndex : public ImageRegionConstIteratorWithIndex<TImage>
00043 {
00044 public:
00046 typedef ImageRegionIteratorWithIndex Self;
00047 typedef ImageRegionConstIteratorWithIndex<TImage> Superclass;
00048
00050 typedef typename Superclass::IndexType IndexType;
00051 typedef typename Superclass::IndexValueType IndexValueType;
00052 typedef typename Superclass::SizeType SizeType;
00053 typedef typename Superclass::SizeValueType SizeValueType;
00054 typedef typename Superclass::OffsetType OffsetType;
00055 typedef typename Superclass::OffsetValueType OffsetValueType;
00056 typedef typename Superclass::RegionType RegionType;
00057 typedef typename Superclass::ImageType ImageType;
00058 typedef typename Superclass::PixelContainer PixelContainer;
00059 typedef typename Superclass::PixelContainerPointer PixelContainerPointer;
00060 typedef typename Superclass::InternalPixelType InternalPixelType;
00061 typedef typename Superclass::PixelType PixelType;
00062 typedef typename Superclass::AccessorType AccessorType;
00063
00064
00066 ImageRegionIteratorWithIndex();
00067
00070 ImageRegionIteratorWithIndex(TImage *ptr, const RegionType& region);
00071
00078 ImageRegionIteratorWithIndex( const ImageIteratorWithIndex<TImage> &it);
00079
00081 void Set( const PixelType & value) const
00082 { m_PixelAccessor.Set(*(const_cast<InternalPixelType *>(m_Position)),value); }
00083
00087 PixelType & Value(void)
00088 { return *(const_cast<InternalPixelType *>(m_Position)); }
00089
00090 protected:
00093 ImageRegionIteratorWithIndex( const ImageRegionConstIteratorWithIndex<TImage> &it);
00094 Self &operator=(const ImageRegionConstIteratorWithIndex<TImage> & it);
00095
00096 };
00097
00098 }
00099
00100 #ifndef ITK_MANUAL_INSTANTIATION
00101 #include "itkImageRegionIteratorWithIndex.txx"
00102 #endif
00103
00104 #endif