18#ifndef itkGPUAnisotropicDiffusionFunction_h
19#define itkGPUAnisotropicDiffusionFunction_h
37template <
typename TImage>
62 static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
91 m_ConductanceParameter = c;
97 return m_ConductanceParameter;
104 return m_AverageGradientMagnitudeSquared;
110 m_AverageGradientMagnitudeSquared = c;
118 return this->GetTimeStep();
139 m_AverageGradientMagnitudeSquared = 0.0;
140 m_ConductanceParameter = 1.0;
149 Superclass::PrintSelf(os, indent);
150 os << indent <<
"TimeStep: " << m_TimeStep << std::endl;
151 os << indent <<
"ConductanceParameter: " << m_ConductanceParameter << std::endl;
159 int m_AverageGradientMagnitudeSquaredGPUKernelHandle{};
162 double m_AverageGradientMagnitudeSquared{};
163 double m_ConductanceParameter{};
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
typename ImageType::PixelType PixelType
typename ConstNeighborhoodIterator< TImage >::RadiusType RadiusType
TimeStepType ComputeGlobalTimeStep(void *) const override
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void GPUCalculateAverageGradientMagnitudeSquared(ImageType *)=0
typename Superclass::PixelRealType PixelrealType
~GPUAnisotropicDiffusionFunction() override=default
void SetAverageGradientMagnitudeSquared(const double c)
void * GetGlobalDataPointer() const override
void SetConductanceParameter(const double c)
void SetTimeStep(const TimeStepType &t)
const double & GetConductanceParameter() const
GPUAnisotropicDiffusionFunction()
const double & GetAverageGradientMagnitudeSquared() const
const TimeStepType & GetTimeStep() const
void ReleaseGlobalDataPointer(void *) const override
Control indentation during Print() invocation.
Light weight base class for most itk classes.
A templated class holding a n-Dimensional vector.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....