00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __itkGrayscaleMorphologicalClosingImageFilter_h
00016 #define __itkGrayscaleMorphologicalClosingImageFilter_h
00017
00018 #include "itkImageToImageFilter.h"
00019
00020 namespace itk {
00021
00043 template<class TInputImage, class TOutputImage, class TKernel>
00044 class ITK_EXPORT GrayscaleMorphologicalClosingImageFilter :
00045 public ImageToImageFilter<TInputImage, TOutputImage>
00046 {
00047 public:
00049 typedef GrayscaleMorphologicalClosingImageFilter Self;
00050 typedef ImageToImageFilter<TInputImage, TOutputImage> Superclass;
00051 typedef SmartPointer<Self> Pointer;
00052 typedef SmartPointer<const Self> ConstPointer;
00053
00055 itkNewMacro(Self);
00056
00058 itkTypeMacro(GrayscaleMorphologicalClosingImageFilter,
00059 ImageToImageFilter);
00060
00061 typedef TInputImage InputImageType;
00062 typedef TOutputImage OutputImageType;
00063 typedef typename InputImageType::Pointer InputImagePointer;
00064 typedef typename OutputImageType::RegionType OutputImageRegionType;
00065
00067 typedef typename TInputImage::PixelType PixelType ;
00068
00070 typedef TKernel KernelType;
00071
00073 itkSetMacro(Kernel, KernelType);
00074
00076 itkGetConstReferenceMacro(Kernel, KernelType);
00077
00080 itkSetMacro(SafeBorder, bool);
00081 itkGetConstReferenceMacro(SafeBorder, bool);
00082 itkBooleanMacro(SafeBorder);
00084
00085 protected:
00086 GrayscaleMorphologicalClosingImageFilter();
00087 ~GrayscaleMorphologicalClosingImageFilter() {};
00088 void PrintSelf(std::ostream& os, Indent indent) const;
00089
00093 void GenerateInputRequestedRegion() ;
00094
00097 void GenerateData ();
00098
00099 private:
00100 GrayscaleMorphologicalClosingImageFilter(const Self&);
00101 void operator=(const Self&);
00102
00104 KernelType m_Kernel ;
00105
00106 bool m_SafeBorder;
00107
00108 } ;
00109
00110 }
00111
00112 #ifndef ITK_MANUAL_INSTANTIATION
00113 #include "itkGrayscaleMorphologicalClosingImageFilter.txx"
00114 #endif
00115
00116 #endif
00117
00118
00119