18 #ifndef itkGPUGradientNDAnisotropicDiffusionFunction_h
19 #define itkGPUGradientNDAnisotropicDiffusionFunction_h
58 template<
typename TImage >
88 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
91 itkGetOpenCLSourceFromKernelMacro(GPUGradientNDAnisotropicDiffusionFunctionKernel);
95 void *globalData ) ITK_OVERRIDE;
100 m_K =
static_cast< PixelType >( this->GetAverageGradientMagnitudeSquared()
101 * this->GetConductanceParameter() * this->GetConductanceParameter() * -2.0f );
113 std::slice x_slice[ImageDimension];
114 std::slice xa_slice[ImageDimension][ImageDimension];
115 std::slice xd_slice[ImageDimension][ImageDimension];
133 #ifndef ITK_MANUAL_INSTANTIATION
134 #include "itkGPUGradientNDAnisotropicDiffusionFunction.hxx"
Superclass::ImageType ImageType
DerivativeOperator< PixelType, itkGetStaticConstMacro(ImageDimension) > dx_op
Light weight base class for most itk classes.
Superclass::FloatOffsetType FloatOffsetType
SmartPointer< Self > Pointer
Superclass::ImageType ImageType
Superclass::PixelRealType PixelRealType
Superclass::TimeStepType TimeStepType
SmartPointer< const Self > ConstPointer
itkGPUKernelClassMacro(GPUImageOpsKernel)
Superclass::FloatOffsetType FloatOffsetType
GPUScalarAnisotropicDiffusionFunction< TImage > Superclass
unsigned long SizeValueType
Superclass::RadiusType RadiusType
SmartPointer< Self > Pointer
~GPUGradientNDAnisotropicDiffusionFunction()
virtual void InitializeIteration() override
Superclass::RadiusType RadiusType
GPUGradientNDAnisotropicDiffusionFunction Self
Superclass::TimeStepType TimeStepType
Superclass::NeighborhoodType NeighborhoodType
SizeValueType NeighborhoodSizeValueType
NeighborhoodSizeValueType m_Center
Superclass::PixelType PixelType
Superclass::NeighborhoodType NeighborhoodType
Superclass::PixelRealType PixelRealType
NeighborhoodInnerProduct< ImageType > m_InnerProduct
Superclass::PixelType PixelType