ITK  4.9.0
Insight Segmentation and Registration Toolkit
itkBinaryErodeParaImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef itkBinaryErodeParaImageFilter_h
19 #define itkBinaryErodeParaImageFilter_h
20 
23 
24 namespace itk
25 {
67 template< typename TInputImage,
68  typename TOutputImage = TInputImage >
69 class ITK_EXPORT BinaryErodeParaImageFilter:
70  public ImageToImageFilter< TInputImage, TOutputImage >
71 
72 {
73 public:
79 
81  itkNewMacro(Self);
82 
85 
87  typedef TInputImage InputImageType;
88  typedef TOutputImage OutputImageType;
89  typedef typename TInputImage::PixelType PixelType;
92  typedef typename TOutputImage::PixelType OutputPixelType;
93 
95  typedef typename TInputImage::Pointer InputImagePointer;
96  typedef typename TInputImage::ConstPointer InputImageConstPointer;
97 
99  // perhaps a bit dodgy, change to int if you want to do enormous
100  // binary operations
101  typedef short InternalIntType;
102 
104  itkStaticConstMacro(ImageDimension, unsigned int,
105  TInputImage::ImageDimension);
106 
108 
109  void SetRadius(ScalarRealType radius);
110 
111  itkSetMacro(Radius, RadiusType);
112  itkGetConstReferenceMacro(Radius, RadiusType);
113 
114  void SetUseImageSpacing(bool g)
115  {
116  m_RectPara->SetUseImageSpacing(g);
117  m_CircPara->SetUseImageSpacing(g);
118  }
119 
124  itkSetMacro(Circular, bool);
125  itkGetConstReferenceMacro(Circular, bool);
126  itkBooleanMacro(Circular);
127 
130  /* add in the traits here */
131  virtual void Modified() const;
132 
133 protected:
134  void GenerateData(void);
135 
138  void PrintSelf(std::ostream & os, Indent indent) const;
139 
146 private:
147  BinaryErodeParaImageFilter(const Self &); //purposely not implemented
148  void operator=(const Self &); //purposely not implemented
149 
152 
155 
158 };
159 } // end namespace itk
160 
161 #ifndef ITK_MANUAL_INSTANTIATION
162 #include "itkBinaryErodeParaImageFilter.hxx"
163 #endif
164 
165 #endif //__itkBinaryErodeParaImageFilter_h
itk::ParabolicErodeImageFilter< TInputImage, InternalRealImageType > CircParabolicType
Class for binary morphological erosion operation.
Class for morphological erosion operations with parabolic structuring elements.
Base class for all process objects that output image data.
itk::GreaterEqualValImageFilter< InternalIntImageType, OutputImageType > RCastType
NumericTraits< PixelType >::RealType RealType
Computes the absolute difference between an image and a constant. Can be done with ShiftScale and Abs...
itk::Image< InternalIntType, InputImageType::ImageDimension > InternalIntImageType
itk::Image< InternalRealType, InputImageType::ImageDimension > InternalRealImageType
ImageToImageFilter< TInputImage, TOutputImage > Superclass
NumericTraits< PixelType >::ScalarRealType ScalarRealType
itk::GreaterEqualValImageFilter< InternalRealImageType, OutputImageType > CCastType
NumericTraits< PixelType >::FloatType InternalRealType
Base class for filters that take an image as input and produce an image as output.
itk::ParabolicErodeImageFilter< TInputImage, InternalIntImageType > RectParabolicType
Control indentation during Print() invocation.
Definition: itkIndent.h:49
TInputImage::ConstPointer InputImageConstPointer
Define additional traits for native types such as int or float.
itk::FixedArray< ScalarRealType, TInputImage::ImageDimension > RadiusType
Templated n-dimensional image class.
Definition: itkImage.h:75