00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _itkRegionGrowImageFilter_h
00018 #define _itkRegionGrowImageFilter_h
00019
00020 #include "itkObject.h"
00021 #include "itkImageToImageFilter.h"
00022
00023 namespace itk
00024 {
00025
00078 template <class TInputImage, class TOutputImage>
00079 class ITK_EXPORT RegionGrowImageFilter :
00080 public ImageToImageFilter<TInputImage,TOutputImage>
00081 {
00082 public:
00084 typedef RegionGrowImageFilter Self;
00085 typedef Object Superclass;
00086 typedef SmartPointer<Self> Pointer;
00087 typedef SmartPointer<const Self> ConstPointer;
00088
00090 itkNewMacro(Self);
00091
00093 itkTypeMacro(RegionGrowImageFilter,Object);
00094
00096 typedef TInputImage InputImageType;
00097 typedef typename TInputImage::Pointer InputImagePointer;
00098 typedef typename TInputImage::ConstPointer InputImageConstPointer;
00099
00101 typedef typename TInputImage::PixelType InputImagePixelType;
00102
00104 typedef TOutputImage OutputImageType;
00105 typedef typename TOutputImage::Pointer OutputImagePointer;
00106
00108 typedef typename TOutputImage::PixelType OutputImagePixelType;
00109
00111 typedef typename TInputImage::SizeType GridSizeType;
00112
00114 itkSetMacro(GridSize, GridSizeType);
00115 itkGetConstReferenceMacro(GridSize, GridSizeType);
00116
00118 itkSetMacro(MaximumNumberOfRegions, unsigned int);
00119 itkGetConstReferenceMacro(MaximumNumberOfRegions, unsigned int);
00120
00122 virtual void ApplyRegionGrowImageFilter(){};
00123
00125 virtual void MergeRegions(){};
00126
00127 protected:
00128 RegionGrowImageFilter();
00129 ~RegionGrowImageFilter();
00130 void PrintSelf(std::ostream& os, Indent indent) const;
00131
00132 private:
00133 RegionGrowImageFilter(const Self&);
00134 void operator=(const Self&);
00135
00136 unsigned int m_MaximumNumberOfRegions;
00137
00138 GridSizeType m_GridSize;
00139
00140 };
00141
00142 }
00143
00144 #ifndef ITK_MANUAL_INSTANTIATION
00145 #include "itkRegionGrowImageFilter.txx"
00146 #endif
00147
00148
00149 #endif