Orfeo Toolbox  3.16
itkGrayscaleMorphologicalOpeningImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkGrayscaleMorphologicalOpeningImageFilter.h,v $
5  Language: C++
6  Date: $Date: 2009-04-28 14:36:30 $
7  Version: $Revision: 1.11 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkGrayscaleMorphologicalOpeningImageFilter_h
18 #define __itkGrayscaleMorphologicalOpeningImageFilter_h
19 
20 // First make sure that the configuration is available.
21 // This line can be removed once the optimized versions
22 // gets integrated into the main directories.
23 #include "itkConfigure.h"
24 
25 #ifdef ITK_USE_CONSOLIDATED_MORPHOLOGY
27 #else
28 
29 
30 #include "itkImageToImageFilter.h"
31 
32 namespace itk {
33 
56 template<class TInputImage, class TOutputImage, class TKernel>
58  public ImageToImageFilter<TInputImage, TOutputImage>
59 {
60 public:
66 
68  itkNewMacro(Self);
69 
73 
74  typedef TInputImage InputImageType;
75  typedef TOutputImage OutputImageType;
76  typedef typename InputImageType::Pointer InputImagePointer;
77  typedef typename OutputImageType::RegionType OutputImageRegionType;
78 
80  typedef typename TInputImage::PixelType PixelType;
81 
83  typedef TKernel KernelType;
84 
86  itkSetMacro(Kernel, KernelType);
87 
89  itkGetConstReferenceMacro(Kernel, KernelType);
90 
92  itkStaticConstMacro(InputImageDimension, unsigned int,
93  TInputImage::ImageDimension);
94  itkStaticConstMacro(OutputImageDimension, unsigned int,
95  TOutputImage::ImageDimension);
96  itkStaticConstMacro(KernelDimension, unsigned int,
97  TKernel::NeighborhoodDimension);
98 
101  itkSetMacro(SafeBorder, bool);
102  itkGetConstReferenceMacro(SafeBorder, bool);
103  itkBooleanMacro(SafeBorder);
104 
106  typedef typename TKernel::PixelType KernelPixelType;
107 
108 #ifdef ITK_USE_CONCEPT_CHECKING
109 
110  itkConceptMacro(SameTypeCheck,
112  itkConceptMacro(SameDimensionCheck1,
114  itkConceptMacro(SameDimensionCheck2,
116  itkConceptMacro(InputLessThanComparableCheck,
118  itkConceptMacro(InputGreaterThanComparableCheck,
120  itkConceptMacro(KernelGreaterThanComparableCheck,
123 #endif
124 
125 protected:
128  void PrintSelf(std::ostream& os, Indent indent) const;
129 
133  void GenerateInputRequestedRegion();
134 
136  void EnlargeOutputRequestedRegion(DataObject *itkNotUsed(output));
137 
140  void GenerateData ();
141 
142 private:
143  GrayscaleMorphologicalOpeningImageFilter(const Self&); //purposely not implemented
144  void operator=(const Self&); //purposely not implemented
145 
148 
150 
151 }; // end of class
152 
153 } // end namespace itk
154 
155 #ifndef ITK_MANUAL_INSTANTIATION
157 #endif
158 
159 #endif
160 
161 #endif

Generated at Sat Feb 2 2013 23:40:33 for Orfeo Toolbox with doxygen 1.8.1.1