ITK  4.2.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< class TInputImage, class TOutputImage >
107 class ITK_EXPORT AntiAliasBinaryImageFilter:
108  public SparseFieldLevelSetImageFilter< TInputImage, TOutputImage >
109 {
110 public:
111 
117 
119  typedef typename Superclass::ValueType ValueType;
120  typedef typename Superclass::IndexType IndexType;
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 
159  itkConceptMacro( DoubleConvertibleToOutputCheck,
161  itkConceptMacro( InputOStreamWritableCheck,
163 
165 #endif
166 protected:
169  virtual void PrintSelf(std::ostream & os, Indent indent) const;
171 
174  inline virtual ValueType CalculateUpdateValue(const IndexType & idx,
175  const TimeStepType & dt,
176  const ValueType & value,
177  const ValueType & change);
178 
181  void GenerateData();
182 
183 private:
184  AntiAliasBinaryImageFilter(const Self &); //purposely not implemented
185  void operator=(const Self &); //purposely not implemented
186 
189 
191 
192  const TInputImage *m_InputImage;
193 };
194 } // end namespace itk
195 
196 #ifndef ITK_MANUAL_INSTANTIATION
197 #include "itkAntiAliasBinaryImageFilter.hxx"
198 #endif
199 
200 #endif
201