ITK  4.8.0
Insight Segmentation and Registration Toolkit
itkBinaryOpenParaImageFilter.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 itkBinaryOpenParaImageFilter_h
19 #define itkBinaryOpenParaImageFilter_h
20 
25 
26 namespace itk
27 {
68 template< typename TInputImage,
69  typename TOutputImage = TInputImage >
70 class ITK_EXPORT BinaryOpenParaImageFilter:
71  public ImageToImageFilter< TInputImage, TOutputImage >
72 
73 {
74 public:
80 
82  itkNewMacro(Self);
83 
86 
88  typedef TInputImage InputImageType;
89  typedef TOutputImage OutputImageType;
90  typedef typename TInputImage::PixelType PixelType;
93  typedef typename TOutputImage::PixelType OutputPixelType;
94 
96  typedef typename TInputImage::Pointer InputImagePointer;
97  typedef typename TInputImage::ConstPointer InputImageConstPointer;
98 
100  // perhaps a bit dodgy, change to int if you want to do enormous
101  // binary operations
102  typedef short InternalIntType;
103 
105  itkStaticConstMacro(ImageDimension, unsigned int,
106  TInputImage::ImageDimension);
107 
109 
110  void SetRadius(ScalarRealType radius);
111 
112  itkSetMacro(Radius, RadiusType);
113  itkGetConstReferenceMacro(Radius, RadiusType);
114 
115  void SetUseImageSpacing(bool g)
116  {
117  m_RectErode->SetUseImageSpacing(g);
118  m_RectDilate->SetUseImageSpacing(g);
119  m_CircErode->SetUseImageSpacing(g);
120  m_CircDilate->SetUseImageSpacing(g);
121  }
122 
127  itkSetMacro(Circular, bool);
128  itkGetConstReferenceMacro(Circular, bool);
129  itkBooleanMacro(Circular);
131 
134  itkSetMacro(SafeBorder, bool);
135  itkGetConstReferenceMacro(SafeBorder, bool);
136  itkBooleanMacro(SafeBorder);
138 
141  /* add in the traits here */
142 protected:
143  void GenerateData(void);
144 
147  void PrintSelf(std::ostream & os, Indent indent) const;
148 
155 
158 
161 private:
162  BinaryOpenParaImageFilter(const Self &); //purposely not implemented
163  void operator=(const Self &); //purposely not implemented
164 
168 
171 
174 
177 
180 };
181 } // end namespace itk
182 
183 #ifndef ITK_MANUAL_INSTANTIATION
184 #include "itkBinaryOpenParaImageFilter.hxx"
185 #endif
186 
187 #endif //__itkBinaryOpenParaImageFilter_h
itk::GreaterEqualValImageFilter< InternalRealImageType, OutputImageType > CCastTypeA
Class for binary morphological opening operation.
ImageToImageFilter< TInputImage, TOutputImage > Superclass
NumericTraits< PixelType >::FloatType InternalRealType
itk::ParabolicErodeImageFilter< TInputImage, InternalIntImageType > RectErodeType
itk::Image< InternalRealType, InputImageType::ImageDimension > InternalRealImageType
itk::ParabolicErodeImageFilter< TInputImage, InternalRealImageType > CircErodeType
Class for morphological erosion operations with parabolic structuring elements.
Base class for all process objects that output image data.
Binarize an input image by thresholding.
itk::BinaryThresholdImageFilter< InternalRealImageType, OutputImageType > CCastTypeB
Computes the absolute difference between an image and a constant. Can be done with ShiftScale and Abs...
Class for morphological dilation operations with parabolic structuring elements.
itk::BinaryThresholdImageFilter< InternalRealImageType, OutputImageType > RCastTypeB
NumericTraits< PixelType >::ScalarRealType ScalarRealType
itk::Image< InternalIntType, InputImageType::ImageDimension > InternalIntImageType
NumericTraits< PixelType >::RealType RealType
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
Define additional traits for native types such as int or float.
TInputImage::ConstPointer InputImageConstPointer
itk::ParabolicDilateImageFilter< OutputImageType, InternalRealImageType > RectDilateType
itk::GreaterEqualValImageFilter< InternalIntImageType, OutputImageType > RCastTypeA
itk::FixedArray< ScalarRealType, TInputImage::ImageDimension > RadiusType
itk::ParabolicDilateImageFilter< OutputImageType, InternalRealImageType > CircDilateType
Templated n-dimensional image class.
Definition: itkImage.h:75