#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 | |
PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0)) override |
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 () |
![]() | |
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 93 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 108 of file itkFiniteDifferenceFunction.h.
using itk::FiniteDifferenceFunction< TImageType >::ImageType |
Extract some parameters from the image type
Definition at line 81 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 100 of file itkFiniteDifferenceFunction.h.
using itk::FiniteDifferenceFunction< TImageType >::PixelRealType |
Definition at line 83 of file itkFiniteDifferenceFunction.h.
using itk::FiniteDifferenceFunction< TImageType >::PixelType |
Definition at line 82 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 96 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 89 of file itkFiniteDifferenceFunction.h.
|
inlineprotected |
Definition at line 116 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 106 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 112 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 123 of file itkGPUFiniteDifferenceFunction.h.
|
protected |
GPU kernel manager for GPUFiniteDifferenceFunction class
Definition at line 120 of file itkGPUFiniteDifferenceFunction.h.