ITK  4.13.0
Insight Segmentation and Registration Toolkit
itkBinaryDilateParaImageFilter.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 itkBinaryDilateParaImageFilter_h
19 #define itkBinaryDilateParaImageFilter_h
20 
23 
24 namespace itk
25 {
66 template< typename TInputImage,
67  typename TOutputImage = TInputImage >
68 class ITK_EXPORT BinaryDilateParaImageFilter:
69  public ImageToImageFilter< TInputImage, TOutputImage >
70 
71 {
72 public:
78 
80  itkNewMacro(Self);
81 
84 
86  typedef TInputImage InputImageType;
87  typedef TOutputImage OutputImageType;
88  typedef typename TInputImage::PixelType PixelType;
91  typedef typename TOutputImage::PixelType OutputPixelType;
92 
94  typedef typename TInputImage::Pointer InputImagePointer;
95  typedef typename TInputImage::ConstPointer InputImageConstPointer;
96 
98  // perhaps a bit dodgy, change to int if you want to do enormous
99  // binary operations
100  typedef short InternalIntType;
101 
103  itkStaticConstMacro(ImageDimension, unsigned int,
104  TInputImage::ImageDimension);
105 
107 
108  void SetRadius(ScalarRealType radius);
109 
110  itkSetMacro(Radius, RadiusType);
111  itkGetConstReferenceMacro(Radius, RadiusType);
112 
113  virtual void Modified() const;
114 
115  void SetUseImageSpacing(bool g)
116  {
117  m_RectPara->SetUseImageSpacing(g);
118  m_CircPara->SetUseImageSpacing(g);
119  }
120 
125  itkSetMacro(Circular, bool);
126  itkGetConstReferenceMacro(Circular, bool);
127  itkBooleanMacro(Circular);
128 
131  /* add in the traits here */
132 protected:
133  void GenerateData(void);
134 
137  void PrintSelf(std::ostream & os, Indent indent) const;
138 
145 private:
146  ITK_DISALLOW_COPY_AND_ASSIGN(BinaryDilateParaImageFilter);
147 
150 
153 
156 };
157 } // end namespace itk
158 
159 #ifndef ITK_MANUAL_INSTANTIATION
160 #include "itkBinaryDilateParaImageFilter.hxx"
161 #endif
162 
163 #endif //__itkBinaryDilateParaImageFilter_h
itk::Image< InternalIntType, InputImageType::ImageDimension > InternalIntImageType
itk::ParabolicDilateImageFilter< TInputImage, InternalRealImageType > RectParabolicType
itk::BinaryThresholdImageFilter< InternalRealImageType, OutputImageType > CCastType
Base class for all process objects that output image data.
itk::ParabolicDilateImageFilter< TInputImage, InternalRealImageType > CircParabolicType
itk::Image< InternalRealType, InputImageType::ImageDimension > InternalRealImageType
NumericTraits< PixelType >::ScalarRealType ScalarRealType
Binarize an input image by thresholding.
Class for morphological dilation operations with parabolic structuring elements.
ImageToImageFilter< TInputImage, TOutputImage > Superclass
NumericTraits< PixelType >::RealType RealType
Class for binary morphological erosion operation.
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::FixedArray< ScalarRealType, TInputImage::ImageDimension > RadiusType
NumericTraits< PixelType >::FloatType InternalRealType
itk::BinaryThresholdImageFilter< InternalRealImageType, OutputImageType > RCastType
Define additional traits for native types such as int or float.
Templated n-dimensional image class.
Definition: itkImage.h:75