18#ifndef itkGPUGradientNDAnisotropicDiffusionFunction_h
19#define itkGPUGradientNDAnisotropicDiffusionFunction_h
59template <
typename TImage>
90 static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
103 m_K =
static_cast<PixelType>(this->GetAverageGradientMagnitudeSquared() * this->GetConductanceParameter() *
104 this->GetConductanceParameter() * -2.0f);
115 std::slice x_slice[ImageDimension];
116 std::slice xa_slice[ImageDimension][ImageDimension];
117 std::slice xd_slice[ImageDimension][ImageDimension];
132#ifndef ITK_MANUAL_INSTANTIATION
133# include "itkGPUGradientNDAnisotropicDiffusionFunction.hxx"
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
typename ImageType::PixelType PixelType
typename ConstNeighborhoodIterator< TImage >::RadiusType RadiusType
SizeValueType NeighborhoodSizeValueType
void InitializeIteration() override
void GPUComputeUpdate(const typename TImage::Pointer output, typename TImage::Pointer buffer, void *globalData) override
itkGetOpenCLSourceFromKernelMacro(GPUGradientNDAnisotropicDiffusionFunctionKernel)
GPUGradientNDAnisotropicDiffusionFunction()
~GPUGradientNDAnisotropicDiffusionFunction() override=default
Light weight base class for most itk classes.
A templated class holding a n-Dimensional vector.
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
itkGPUKernelClassMacro(GPUImageOpsKernel)
unsigned long SizeValueType