#include <itkGPUScalarAnisotropicDiffusionFunction.h>
This class forms the base for any GPU anisotropic diffusion function that operates on scalar data (see itkGPUAnisotropicDiffusionFunction).
Definition at line 38 of file itkGPUScalarAnisotropicDiffusionFunction.h.
Public Member Functions | |
const char * | GetNameOfClass () const override |
void | GPUCalculateAverageGradientMagnitudeSquared (TImage *) override |
itkGetOpenCLSourceFromKernelMacro (GPUScalarAnisotropicDiffusionFunctionKernel) | |
![]() | |
TimeStepType | ComputeGlobalTimeStep (void *GlobalData) const override |
const double & | GetAverageGradientMagnitudeSquared () const |
const double & | GetConductanceParameter () const |
void * | GetGlobalDataPointer () const override |
const TimeStepType & | GetTimeStep () const |
void | ReleaseGlobalDataPointer (void *GlobalData) const override |
void | SetAverageGradientMagnitudeSquared (const double c) |
void | SetConductanceParameter (const double c) |
void | SetTimeStep (const TimeStepType &t) |
![]() | |
virtual void | GPUAllocateMetricData (unsigned int numPixels) |
virtual void | GPUAllocateMetricData (unsigned int numPixels) |
virtual void | GPUComputeUpdate (const typename TImage::Pointer output, typename TImage::Pointer update, void *gd)=0 |
virtual void | GPUComputeUpdate (const typename TImage::Pointer output, typename TImage::Pointer update, void *gd)=0 |
virtual void | GPUReleaseMetricData () |
virtual void | GPUReleaseMetricData () |
PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0)) override |
PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0)) override |
![]() | |
const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
const RadiusType & | GetRadius () const |
const RadiusType & | GetRadius () const |
void | GetScaleCoefficients (PixelRealType vals[ImageDimension]) const |
void | GetScaleCoefficients (PixelRealType vals[ImageDimension]) const |
virtual void | InitializeIteration () |
virtual void | InitializeIteration () |
void | SetRadius (const RadiusType &r) |
void | SetRadius (const RadiusType &r) |
void | SetScaleCoefficients (const PixelRealType vals[ImageDimension]) |
void | SetScaleCoefficients (const PixelRealType vals[ImageDimension]) |
![]() | |
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 Attributes | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension |
static constexpr unsigned int | ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension |
static constexpr unsigned int | ImageDimension |
Additional Inherited Members | |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
![]() | |
GPUDataManager::Pointer | m_AnisotropicDiffusionFunctionGPUBuffer {} |
GPUKernelManager::Pointer | m_AnisotropicDiffusionFunctionGPUKernelManager {} |
int | m_AverageGradientMagnitudeSquaredGPUKernelHandle {} |
![]() | |
int | m_ComputeUpdateGPUKernelHandle |
int | m_ComputeUpdateGPUKernelHandle |
GPUKernelManager::Pointer | m_GPUKernelManager |
GPUKernelManager::Pointer | m_GPUKernelManager |
![]() | |
RadiusType | m_Radius |
RadiusType | m_Radius |
PixelRealType | m_ScaleCoefficients [ImageDimension] |
PixelRealType | m_ScaleCoefficients [ImageDimension] |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 47 of file itkGPUScalarAnisotropicDiffusionFunction.h.
Extract some parameters from the image type
The type of data structure that is passed to this function object to evaluate at a pixel that does not lie on a data set boundary.
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::Pointer = SmartPointer<Self> |
Definition at line 46 of file itkGPUScalarAnisotropicDiffusionFunction.h.
Neighborhood radius type
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::Self = GPUScalarAnisotropicDiffusionFunction |
Standard class type aliases.
Definition at line 44 of file itkGPUScalarAnisotropicDiffusionFunction.h.
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::Superclass = GPUAnisotropicDiffusionFunction<TImage> |
Definition at line 45 of file itkGPUScalarAnisotropicDiffusionFunction.h.
Define the TimeStepType to always be double.
|
protected |
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
|
overridevirtual |
Reimplemented from itk::GPUAnisotropicDiffusionFunction< TImage >.
References GPUScalarAnisotropicDiffusionFunction().
|
overridevirtual |
Compute average squared gradient of magnitude using the GPU
Implements itk::GPUAnisotropicDiffusionFunction< TImage >.
itk::GPUScalarAnisotropicDiffusionFunction< TImage >::itkGetOpenCLSourceFromKernelMacro | ( | GPUScalarAnisotropicDiffusionFunctionKernel | ) |
Get OpenCL Kernel source as a string, creates a GetOpenCLSource method
|
staticconstexpr |
Inherit some parameters from the superclass type.
Definition at line 52 of file itkGPUScalarAnisotropicDiffusionFunction.h.