ITK  4.13.0
Insight Segmentation and Registration Toolkit
itkAntiAliasBinaryImageFilter.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 itkAntiAliasBinaryImageFilter_h
19 #define itkAntiAliasBinaryImageFilter_h
22 
23 namespace itk
24 {
106 template< typename TInputImage, typename TOutputImage >
107 class ITK_TEMPLATE_EXPORT AntiAliasBinaryImageFilter:
108  public SparseFieldLevelSetImageFilter< TInputImage, TOutputImage >
109 {
110 public:
111 
117 
119  typedef typename Superclass::ValueType ValueType;
121  typedef typename Superclass::TimeStepType TimeStepType;
122  typedef typename Superclass::OutputImageType OutputImageType;
123  typedef typename Superclass::InputImageType InputImageType;
124 
127 
129  typedef typename TInputImage::ValueType BinaryValueType;
130 
132  itkNewMacro(Self);
133 
136 
138  itkGetConstMacro(UpperBinaryValue, BinaryValueType);
139  itkGetConstMacro(LowerBinaryValue, BinaryValueType);
141 
144  void SetMaximumIterations(unsigned int i)
145  {
146  itkWarningMacro("SetMaximumIterations is deprecated. Please use SetNumberOfIterations instead.");
147  this->SetNumberOfIterations(i);
148  }
150 
151  unsigned int GetMaximumIterations()
152  {
153  itkWarningMacro("GetMaximumIterations is deprecated. Please use GetNumberOfIterations instead.");
154  return this->GetNumberOfIterations();
155  }
156 
157 #ifdef ITK_USE_CONCEPT_CHECKING
158  // Begin concept checking
159  itkConceptMacro( DoubleConvertibleToOutputCheck,
161  itkConceptMacro( InputOStreamWritableCheck,
163  // End concept checking
164 #endif
165 
166 protected:
168  ~AntiAliasBinaryImageFilter() ITK_OVERRIDE {}
169  virtual void PrintSelf(std::ostream & os, Indent indent) const ITK_OVERRIDE;
170 
173  virtual ValueType CalculateUpdateValue(const IndexType & idx,
174  const TimeStepType & dt,
175  const ValueType & value,
176  const ValueType & change) ITK_OVERRIDE;
177 
180  void GenerateData() ITK_OVERRIDE;
181 
182 private:
183  ITK_DISALLOW_COPY_AND_ASSIGN(AntiAliasBinaryImageFilter);
184 
185  BinaryValueType m_UpperBinaryValue;
186  BinaryValueType m_LowerBinaryValue;
187 
188  typename CurvatureFunctionType::Pointer m_CurvatureFunction;
189 
190  const TInputImage *m_InputImage;
191 };
192 } // end namespace itk
193 
194 #ifndef ITK_MANUAL_INSTANTIATION
195 #include "itkAntiAliasBinaryImageFilter.hxx"
196 #endif
197 
198 #endif
Base class for all process objects that output image data.
This class implements a finite difference partial differential equation solver for evolving surfaces ...
A method for estimation of a surface from a binary volume.
This class encapsulate the finite difference equation which drives a curvature flow denoising algorit...
SparseFieldLevelSetImageFilter< TInputImage, TOutputImage > Superclass
Control indentation during Print() invocation.
Definition: itkIndent.h:49
CurvatureFlowFunction< OutputImageType > CurvatureFunctionType
#define itkConceptMacro(name, concept)