ITK  6.0.0
Insight Toolkit
itkAntiAliasBinaryImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright NumFOCUS
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  * https://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 : public SparseFieldLevelSetImageFilter<TInputImage, TOutputImage>
108 {
109 public:
110  ITK_DISALLOW_COPY_AND_MOVE(AntiAliasBinaryImageFilter);
118 
120  using typename Superclass::ValueType;
121  using typename Superclass::IndexType;
122  using typename Superclass::TimeStepType;
123  using typename Superclass::OutputImageType;
124  using typename Superclass::InputImageType;
125 
128 
130  using BinaryValueType = typename TInputImage::ValueType;
131 
133  itkNewMacro(Self);
134 
136  itkOverrideGetNameOfClassMacro(AntiAliasBinaryImageFilter);
137 
139  itkGetConstMacro(UpperBinaryValue, BinaryValueType);
140  itkGetConstMacro(LowerBinaryValue, BinaryValueType);
145  void
146  SetMaximumIterations(unsigned int i)
147  {
148  itkWarningMacro("SetMaximumIterations is deprecated. Please use SetNumberOfIterations instead.");
149  this->SetNumberOfIterations(i);
150  }
153  unsigned int
155  {
156  itkWarningMacro("GetMaximumIterations is deprecated. Please use GetNumberOfIterations instead.");
157  return this->GetNumberOfIterations();
158  }
159 
160 #ifdef ITK_USE_CONCEPT_CHECKING
161  // Begin concept checking
164  // End concept checking
165 #endif
166 
167 protected:
169  ~AntiAliasBinaryImageFilter() override = default;
170  void
171  PrintSelf(std::ostream & os, Indent indent) const override;
172 
175  ValueType
176  CalculateUpdateValue(const IndexType & idx,
177  const TimeStepType & dt,
178  const ValueType & value,
179  const ValueType & change) override;
180 
183  void
184  GenerateData() override;
185 
186 private:
187  BinaryValueType m_UpperBinaryValue{};
188  BinaryValueType m_LowerBinaryValue{};
189 
190  typename CurvatureFunctionType::Pointer m_CurvatureFunction{};
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
itk::AntiAliasBinaryImageFilter::SetMaximumIterations
void SetMaximumIterations(unsigned int i)
Definition: itkAntiAliasBinaryImageFilter.h:146
itk::SparseFieldLevelSetImageFilter
This class implements a finite difference partial differential equation solver for evolving surfaces ...
Definition: itkSparseFieldLevelSetImageFilter.h:244
itk::Concept::OStreamWritable
Definition: itkConceptChecking.h:638
itk::AntiAliasBinaryImageFilter::BinaryValueType
typename TInputImage::ValueType BinaryValueType
Definition: itkAntiAliasBinaryImageFilter.h:130
itk::SmartPointer< Self >
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::GTest::TypedefsAndConstructors::Dimension2::IndexType
ImageBaseType::IndexType IndexType
Definition: itkGTestTypedefsAndConstructors.h:50
itk::ImageSource
Base class for all process objects that output image data.
Definition: itkImageSource.h:67
itkCurvatureFlowFunction.h
itk::AntiAliasBinaryImageFilter::GetMaximumIterations
unsigned int GetMaximumIterations()
Definition: itkAntiAliasBinaryImageFilter.h:154
itk::CurvatureFlowFunction
This class encapsulate the finite difference equation which drives a curvature flow denoising algorit...
Definition: itkCurvatureFlowFunction.h:44
itk::AntiAliasBinaryImageFilter
A method for estimation of a surface from a binary volume.
Definition: itkAntiAliasBinaryImageFilter.h:107
itkConceptMacro
#define itkConceptMacro(name, concept)
Definition: itkConceptChecking.h:65
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnatomicalOrientation.h:29
itk::ProcessObject
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Definition: itkProcessObject.h:139
itk::Concept::Convertible
Definition: itkConceptChecking.h:216
itkSparseFieldLevelSetImageFilter.h