ITK  4.6.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 >
108  public SparseFieldLevelSetImageFilter< TInputImage, TOutputImage >
109 {
110 public:
111 
117 
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:
169  virtual void PrintSelf(std::ostream & os, Indent indent) const;
170 
173  inline virtual ValueType CalculateUpdateValue(const IndexType & idx,
174  const TimeStepType & dt,
175  const ValueType & value,
176  const ValueType & change);
177 
180  void GenerateData();
181 
182 private:
183  AntiAliasBinaryImageFilter(const Self &); //purposely not implemented
184  void operator=(const Self &); //purposely not implemented
185 
188 
190 
191  const TInputImage *m_InputImage;
192 };
193 } // end namespace itk
194 
195 #ifndef ITK_MANUAL_INSTANTIATION
196 #include "itkAntiAliasBinaryImageFilter.hxx"
197 #endif
198 
199 #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.
void operator=(const Self &)
virtual const IdentifierType & GetNumberOfIterations() const
virtual ValueType CalculateUpdateValue(const IndexType &idx, const TimeStepType &dt, const ValueType &value, const ValueType &change)
virtual void SetNumberOfIterations(IdentifierType _arg)
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)
virtual void PrintSelf(std::ostream &os, Indent indent) const
CurvatureFunctionType::Pointer m_CurvatureFunction