ITK  5.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
itk::GPUScalarAnisotropicDiffusionFunction< TImage > Class Template Reference

#include <itkGPUScalarAnisotropicDiffusionFunction.h>

+ Inheritance diagram for itk::GPUScalarAnisotropicDiffusionFunction< TImage >:
+ Collaboration diagram for itk::GPUScalarAnisotropicDiffusionFunction< TImage >:

Detailed Description

template<typename TImage>
class itk::GPUScalarAnisotropicDiffusionFunction< TImage >

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 Types

using ConstPointer = SmartPointer< const Self >
 
using ImageType = typename Superclass::ImageType
 
using NeighborhoodType = typename Superclass::NeighborhoodType
 
using PixelRealType = typename Superclass::PixelRealType
 
using PixelType = typename Superclass::PixelType
 
using Pointer = SmartPointer< Self >
 
using RadiusType = typename Superclass::RadiusType
 
using Self = GPUScalarAnisotropicDiffusionFunction
 
using Superclass = GPUAnisotropicDiffusionFunction< TImage >
 
using TimeStepType = typename Superclass::TimeStepType
 
- Public Types inherited from itk::GPUAnisotropicDiffusionFunction< TImage >
using ConstPointer = SmartPointer< const Self >
 
using FloatOffsetType = typename Superclass::FloatOffsetType
 
using ImageType = typename Superclass::ImageType
 
using NeighborhoodType = typename Superclass::NeighborhoodType
 
using PixelrealType = typename Superclass::PixelRealType
 
using PixelType = typename Superclass::PixelType
 
using Pointer = SmartPointer< Self >
 
using RadiusType = typename Superclass::RadiusType
 
using Self = GPUAnisotropicDiffusionFunction
 
using Superclass = GPUFiniteDifferenceFunction< TImage >
 
using TimeStepType = typename Superclass::TimeStepType
 
- Public Types inherited from itk::GPUFiniteDifferenceFunction< TImage >
using ConstPointer = SmartPointer< const Self >
 
using DefaultBoundaryConditionType = typename Superclass::DefaultBoundaryConditionType
 
using DifferenceFunctionType = Superclass
 
using FloatOffsetType = typename Superclass::FloatOffsetType
 
using ImageType = typename Superclass::ImageType
 
using NeighborhoodType = typename Superclass::NeighborhoodType
 
using PixelRealType = typename Superclass::PixelRealType
 
using PixelType = typename Superclass::PixelType
 
using Pointer = SmartPointer< Self >
 
using RadiusType = typename Superclass::RadiusType
 
using Self = GPUFiniteDifferenceFunction
 
using Superclass = FiniteDifferenceFunction< TImage >
 
using TimeStepType = typename Superclass::TimeStepType
 
- Public Types inherited from itk::FiniteDifferenceFunction< TImage >
using ConstPointer = SmartPointer< const Self >
 
using DefaultBoundaryConditionType = ZeroFluxNeumannBoundaryCondition< ImageType >
 
using FloatOffsetType = Vector< float, Self::ImageDimension >
 
using ImageType = TImage
 
using NeighborhoodScalesType = Vector< PixelRealType, Self::ImageDimension >
 
using NeighborhoodType = ConstNeighborhoodIterator< TImage, DefaultBoundaryConditionType >
 
using PixelRealType = double
 
using PixelType = typename ImageType::PixelType
 
using Pointer = SmartPointer< Self >
 
using RadiusType = typename ConstNeighborhoodIterator< TImage >::RadiusType
 
using Self = FiniteDifferenceFunction
 
using Superclass = LightObject
 
using TimeStepType = double
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

virtual const char * GetNameOfClass () const
 
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 TimeStepTypeGetTimeStep () const
 
virtual void GPUCalculateAverageGradientMagnitudeSquared (ImageType *)=0
 
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 >
virtual void GPUAllocateMetricData (unsigned int)
 
virtual void GPUComputeUpdate (const typename TImage::Pointer output, typename TImage::Pointer update, void *gd)=0
 
virtual void GPUReleaseMetricData ()
 
virtual PixelType ComputeUpdate (const NeighborhoodType &, void *, const FloatOffsetType &) override
 
- Public Member Functions inherited from itk::FiniteDifferenceFunction< TImage >
const NeighborhoodScalesType ComputeNeighborhoodScales () const
 
const RadiusTypeGetRadius () const
 
void GetScaleCoefficients (PixelRealType vals[ImageDimension]) const
 
virtual void InitializeIteration ()
 
void SetRadius (const RadiusType &r)
 
void SetScaleCoefficients (PixelRealType vals[ImageDimension])
 
- Public Member Functions inherited from itk::LightObject
virtual Pointer CreateAnother () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
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 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
 

Protected Member Functions

 GPUScalarAnisotropicDiffusionFunction ()
 
 ~GPUScalarAnisotropicDiffusionFunction () override
 
- Protected Member Functions inherited from itk::GPUAnisotropicDiffusionFunction< TImage >
 GPUAnisotropicDiffusionFunction ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~GPUAnisotropicDiffusionFunction () override
 
- Protected Member Functions inherited from itk::GPUFiniteDifferenceFunction< TImage >
 GPUFiniteDifferenceFunction ()
 
 ~GPUFiniteDifferenceFunction () override
 
- Protected Member Functions inherited from itk::FiniteDifferenceFunction< TImage >
 FiniteDifferenceFunction ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~FiniteDifferenceFunction () override=default
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 
- Protected Attributes inherited from itk::GPUAnisotropicDiffusionFunction< TImage >
GPUDataManager::Pointer m_AnisotropicDiffusionFunctionGPUBuffer
 
GPUKernelManager::Pointer m_AnisotropicDiffusionFunctionGPUKernelManager
 
int m_AverageGradientMagnitudeSquaredGPUKernelHandle
 
- Protected Attributes inherited from itk::GPUFiniteDifferenceFunction< TImage >
int m_ComputeUpdateGPUKernelHandle
 
GPUKernelManager::Pointer m_GPUKernelManager
 
- Protected Attributes inherited from itk::FiniteDifferenceFunction< TImage >
RadiusType m_Radius
 
PixelRealType m_ScaleCoefficients [ImageDimension]
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount
 

Member Typedef Documentation

template<typename TImage >
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::ConstPointer = SmartPointer< const Self >

Definition at line 48 of file itkGPUScalarAnisotropicDiffusionFunction.h.

template<typename TImage >
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::ImageType = typename Superclass::ImageType

Inherit some parameters from the superclass type.

Definition at line 56 of file itkGPUScalarAnisotropicDiffusionFunction.h.

template<typename TImage >
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::NeighborhoodType = typename Superclass::NeighborhoodType

Definition at line 60 of file itkGPUScalarAnisotropicDiffusionFunction.h.

template<typename TImage >
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::PixelRealType = typename Superclass::PixelRealType

Definition at line 58 of file itkGPUScalarAnisotropicDiffusionFunction.h.

template<typename TImage >
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::PixelType = typename Superclass::PixelType

Definition at line 57 of file itkGPUScalarAnisotropicDiffusionFunction.h.

template<typename TImage >
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::Pointer = SmartPointer< Self >

Definition at line 47 of file itkGPUScalarAnisotropicDiffusionFunction.h.

template<typename TImage >
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::RadiusType = typename Superclass::RadiusType

Definition at line 59 of file itkGPUScalarAnisotropicDiffusionFunction.h.

Standard class type aliases.

Definition at line 45 of file itkGPUScalarAnisotropicDiffusionFunction.h.

template<typename TImage >
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::Superclass = GPUAnisotropicDiffusionFunction< TImage >

Definition at line 46 of file itkGPUScalarAnisotropicDiffusionFunction.h.

template<typename TImage >
using itk::GPUScalarAnisotropicDiffusionFunction< TImage >::TimeStepType = typename Superclass::TimeStepType

Definition at line 61 of file itkGPUScalarAnisotropicDiffusionFunction.h.

Constructor & Destructor Documentation

template<typename TImage >
itk::GPUScalarAnisotropicDiffusionFunction< TImage >::GPUScalarAnisotropicDiffusionFunction ( )
protected
template<typename TImage >
itk::GPUScalarAnisotropicDiffusionFunction< TImage >::~GPUScalarAnisotropicDiffusionFunction ( )
inlineoverrideprotected

Definition at line 71 of file itkGPUScalarAnisotropicDiffusionFunction.h.

Member Function Documentation

template<typename TImage >
virtual const char* itk::GPUScalarAnisotropicDiffusionFunction< TImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods)

Reimplemented from itk::GPUAnisotropicDiffusionFunction< TImage >.

Reimplemented in itk::GPUGradientNDAnisotropicDiffusionFunction< TImage >.

template<typename TImage >
void itk::GPUScalarAnisotropicDiffusionFunction< TImage >::GPUCalculateAverageGradientMagnitudeSquared ( TImage *  )
override

Compute average squared gradient of magnitude using the GPU

template<typename TImage >
itk::GPUScalarAnisotropicDiffusionFunction< TImage >::itkGetOpenCLSourceFromKernelMacro ( GPUScalarAnisotropicDiffusionFunctionKernel  )

Get OpenCL Kernel source as a string, creates a GetOpenCLSource method

Member Data Documentation

template<typename TImage >
constexpr unsigned int itk::GPUScalarAnisotropicDiffusionFunction< TImage >::ImageDimension = Superclass::ImageDimension
static

Inherit some parameters from the superclass type.

Definition at line 53 of file itkGPUScalarAnisotropicDiffusionFunction.h.


The documentation for this class was generated from the following file: