ITK
6.0.0
Insight Toolkit
|
#include <itkGPUGradientNDAnisotropicDiffusionFunction.h>
This class implements an N-dimensional version of the classic Perona-Malik anisotropic diffusion equation for scalar-valued images on the GPU. See itkAnisotropicDiffusionFunction for an overview of the anisotropic diffusion framework and equation.
\[C(\mathbf{x}) = e^{-(\frac{\parallel \nabla U(\mathbf{x}) \parallel}{K})^2}\]
.
Definition at line 60 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
Public Member Functions | |
const char * | GetNameOfClass () const override |
void | GPUComputeUpdate (const typename TImage::Pointer output, typename TImage::Pointer buffer, void *globalData) override |
void | InitializeIteration () override |
itkGetOpenCLSourceFromKernelMacro (GPUGradientNDAnisotropicDiffusionFunctionKernel) | |
Public Member Functions inherited from itk::GPUScalarAnisotropicDiffusionFunction< TImage > | |
const char * | GetNameOfClass () const override |
void | GPUCalculateAverageGradientMagnitudeSquared (TImage *) override |
itkGetOpenCLSourceFromKernelMacro (GPUScalarAnisotropicDiffusionFunctionKernel) | |
Public Member Functions inherited from itk::GPUAnisotropicDiffusionFunction< TImage > | |
TimeStepType | ComputeGlobalTimeStep (void *) const override |
const double & | GetAverageGradientMagnitudeSquared () const |
const double & | GetConductanceParameter () const |
void * | GetGlobalDataPointer () const override |
const TimeStepType & | GetTimeStep () const |
void | ReleaseGlobalDataPointer (void *) const override |
void | SetAverageGradientMagnitudeSquared (const double c) |
void | SetConductanceParameter (const double c) |
void | SetTimeStep (const TimeStepType &t) |
Public Member Functions inherited from itk::GPUFiniteDifferenceFunction< TImage > | |
const char * | GetNameOfClass () const override |
virtual void | GPUAllocateMetricData (unsigned int) |
virtual void | GPUComputeUpdate (const typename TImage ::Pointer output, typename TImage ::Pointer update, void *gd)=0 |
virtual void | GPUReleaseMetricData () |
PixelType | ComputeUpdate (const NeighborhoodType &, void *, const FloatOffsetType &=FloatOffsetType(0.0)) override |
Public Member Functions inherited from itk::FiniteDifferenceFunction< TImage > | |
const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
const RadiusType & | GetRadius () const |
void | GetScaleCoefficients (PixelRealType vals[ImageDimension]) const |
void | SetRadius (const RadiusType &r) |
void | SetScaleCoefficients (const PixelRealType vals[ImageDimension]) |
Public Member Functions inherited from itk::LightObject | |
Pointer | Clone () const |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::GPUScalarAnisotropicDiffusionFunction< TImage > | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::GPUAnisotropicDiffusionFunction< TImage > | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::GPUFiniteDifferenceFunction< TImage > | |
static constexpr unsigned int | ImageDimension |
Static Public Attributes inherited from itk::FiniteDifferenceFunction< TImage > | |
static constexpr unsigned int | ImageDimension |
Static Protected Attributes | |
static double | m_MIN_NORM |
using itk::GPUGradientNDAnisotropicDiffusionFunction< TImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 70 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
using itk::GPUGradientNDAnisotropicDiffusionFunction< TImage >::NeighborhoodSizeValueType = SizeValueType |
Definition at line 87 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
using itk::GPUGradientNDAnisotropicDiffusionFunction< TImage >::Pointer = SmartPointer<Self> |
Definition at line 69 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
using itk::GPUGradientNDAnisotropicDiffusionFunction< TImage >::Self = GPUGradientNDAnisotropicDiffusionFunction |
Standard class type aliases.
Definition at line 67 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
using itk::GPUGradientNDAnisotropicDiffusionFunction< TImage >::Superclass = GPUScalarAnisotropicDiffusionFunction<TImage> |
Definition at line 68 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
|
protected |
|
overrideprotecteddefault |
|
overridevirtual |
Reimplemented from itk::GPUAnisotropicDiffusionFunction< TImage >.
|
override |
Compute the equation value.
|
inlineoverridevirtual |
This method is called prior to each iteration of the solver.
Reimplemented from itk::FiniteDifferenceFunction< TImage >.
Definition at line 101 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
itk::GPUGradientNDAnisotropicDiffusionFunction< TImage >::itkGetOpenCLSourceFromKernelMacro | ( | GPUGradientNDAnisotropicDiffusionFunctionKernel | ) |
Get OpenCL Kernel source as a string, creates a GetOpenCLSource method
|
static |
Method for creation through the object factory.
|
staticconstexpr |
Inherit some parameters from the superclass type.
Definition at line 90 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Definition at line 125 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Derivative operator.
Definition at line 120 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Inner product function.
Definition at line 112 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Modified global average gradient magnitude term.
Definition at line 123 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
|
staticprotected |
Definition at line 128 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Definition at line 126 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Slices for the ND neighborhood.
Definition at line 115 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Definition at line 116 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.
|
protected |
Definition at line 117 of file itkGPUGradientNDAnisotropicDiffusionFunction.h.