18#ifndef itkCurvatureAnisotropicDiffusionImageFilter_h
19#define itkCurvatureAnisotropicDiffusionImageFilter_h
57template <
typename TInputImage,
typename TOutputImage>
77 using typename Superclass::UpdateBufferType;
80 static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
82#ifdef ITK_USE_CONCEPT_CHECKING
92 this->SetDifferenceFunction(q);
100 Superclass::InitializeIteration();
101 if (this->GetTimeStep() > 0.5 / std::pow(2.0,
static_cast<double>(ImageDimension)))
104 <<
"Anisotropic diffusion is using a time step which may introduce instability into the solution.");
This filter performs anisotropic diffusion on a scalar itk::Image using the modified curvature diffus...
void InitializeIteration() override
~CurvatureAnisotropicDiffusionImageFilter() override=default
CurvatureAnisotropicDiffusionImageFilter()
Base class for all process objects that output image data.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....