#include <itkGPUFiniteDifferenceFunction.h>
This is a base class of GPU finite difference function. Note that unlike most GPU classes, derived class of GPUFiniteDifferenceFunction does not have corresponding CPU class as its parent but only has CPU class FiniteDifferenceFunction as its base class. Therefore, only members of FiniteDifferenceFunction are reused by its derived GPU classes.
Definition at line 47 of file itkGPUFiniteDifferenceFunction.h.
Public Member Functions | |
const char * | GetNameOfClass () const override |
virtual void | GPUAllocateMetricData (unsigned int numPixels) |
virtual void | GPUComputeUpdate (const typename TImageType::Pointer output, typename TImageType::Pointer update, void *gd)=0 |
virtual void | GPUReleaseMetricData () |
PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0)) override |
![]() | |
virtual TimeStepType | ComputeGlobalTimeStep (void *GlobalData) const =0 |
const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
virtual void * | GetGlobalDataPointer () const =0 |
const RadiusType & | GetRadius () const |
void | GetScaleCoefficients (PixelRealType vals[ImageDimension]) const |
virtual void | InitializeIteration () |
virtual void | ReleaseGlobalDataPointer (void *GlobalData) const =0 |
void | SetRadius (const RadiusType &r) |
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 = ImageType::ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension = ImageType::ImageDimension |
Protected Member Functions | |
GPUFiniteDifferenceFunction () | |
~GPUFiniteDifferenceFunction () override=default | |
![]() | |
FiniteDifferenceFunction () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~FiniteDifferenceFunction () override=default | |
![]() | |
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 () |
Protected Attributes | |
int | m_ComputeUpdateGPUKernelHandle {} |
GPUKernelManager::Pointer | m_GPUKernelManager {} |
![]() | |
RadiusType | m_Radius {} |
PixelRealType | m_ScaleCoefficients [ImageDimension] {} |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
Additional Inherited Members | |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
using itk::GPUFiniteDifferenceFunction< TImageType >::ConstPointer = SmartPointer<const Self> |
Definition at line 57 of file itkGPUFiniteDifferenceFunction.h.
using itk::FiniteDifferenceFunction< TImageType >::DefaultBoundaryConditionType |
The default boundary condition for finite difference functions that is used unless overridden in the Evaluate() method.
Definition at line 94 of file itkFiniteDifferenceFunction.h.
using itk::GPUFiniteDifferenceFunction< TImageType >::DifferenceFunctionType = Superclass |
Definition at line 55 of file itkGPUFiniteDifferenceFunction.h.
using itk::FiniteDifferenceFunction< TImageType >::FloatOffsetType |
A floating point offset from an image grid location. Used for interpolation among grid values in a neighborhood.
Definition at line 109 of file itkFiniteDifferenceFunction.h.
using itk::FiniteDifferenceFunction< TImageType >::ImageType |
Extract some parameters from the image type
Definition at line 82 of file itkFiniteDifferenceFunction.h.
using itk::FiniteDifferenceFunction< TImageType >::NeighborhoodType |
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.
Definition at line 101 of file itkFiniteDifferenceFunction.h.
using itk::FiniteDifferenceFunction< TImageType >::PixelRealType |
Definition at line 84 of file itkFiniteDifferenceFunction.h.
using itk::FiniteDifferenceFunction< TImageType >::PixelType |
Definition at line 83 of file itkFiniteDifferenceFunction.h.
using itk::GPUFiniteDifferenceFunction< TImageType >::Pointer = SmartPointer<Self> |
Definition at line 56 of file itkGPUFiniteDifferenceFunction.h.
using itk::FiniteDifferenceFunction< TImageType >::RadiusType |
Neighborhood radius type
Definition at line 97 of file itkFiniteDifferenceFunction.h.
using itk::GPUFiniteDifferenceFunction< TImageType >::Self = GPUFiniteDifferenceFunction |
Standard class type aliases.
Definition at line 53 of file itkGPUFiniteDifferenceFunction.h.
using itk::GPUFiniteDifferenceFunction< TImageType >::Superclass = FiniteDifferenceFunction<TImageType> |
Definition at line 54 of file itkGPUFiniteDifferenceFunction.h.
using itk::FiniteDifferenceFunction< TImageType >::TimeStepType |
Define the TimeStepType to always be double.
Definition at line 90 of file itkFiniteDifferenceFunction.h.
|
inlineprotected |
Definition at line 117 of file itkGPUFiniteDifferenceFunction.h.
|
overrideprotecteddefault |
|
inlineoverridevirtual |
Empty implementation - this will not be used by GPU filters
Implements itk::FiniteDifferenceFunction< TImageType >.
Definition at line 90 of file itkGPUFiniteDifferenceFunction.h.
|
overridevirtual |
Reimplemented from itk::FiniteDifferenceFunction< TImageType >.
Reimplemented in itk::GPUGradientNDAnisotropicDiffusionFunction< TImage >, itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >, itk::GPUPDEDeformableRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType >, itk::GPUPDEDeformableRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType >, and itk::GPUScalarAnisotropicDiffusionFunction< TImage >.
|
inlinevirtual |
Allocate GPU buffers for computing metric statistics
Reimplemented in itk::GPUDemonsRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >, itk::GPUDemonsRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType >, and itk::GPUDemonsRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType >.
Definition at line 107 of file itkGPUFiniteDifferenceFunction.h.
|
pure virtual |
GPU function to compute update buffer
Implemented in itk::GPUGradientNDAnisotropicDiffusionFunction< TImage >.
|
inlinevirtual |
Release GPU buffers for computing metric statistics
Reimplemented in itk::GPUDemonsRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >, itk::GPUDemonsRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType >, and itk::GPUDemonsRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType >.
Definition at line 113 of file itkGPUFiniteDifferenceFunction.h.
|
staticconstexpr |
Save image dimension.
Definition at line 68 of file itkGPUFiniteDifferenceFunction.h.
|
protected |
GPU kernel handle for GPUComputeUpdate()
Definition at line 124 of file itkGPUFiniteDifferenceFunction.h.
|
protected |
GPU kernel manager for GPUFiniteDifferenceFunction class
Definition at line 121 of file itkGPUFiniteDifferenceFunction.h.