ITK
6.0.0
Insight Toolkit
|
#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) |
virtual void | GPUComputeUpdate (const typename TImageType::Pointer output, typename TImageType::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< TImageType > | |
virtual TimeStepType | ComputeGlobalTimeStep (void *GlobalData) const =0 |
const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
virtual PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0))=0 |
virtual void * | GetGlobalDataPointer () const =0 |
const char * | GetNameOfClass () const override |
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]) |
Public Member Functions inherited from itk::LightObject | |
Pointer | Clone () const |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual const char * | GetNameOfClass () const |
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 Public Attributes inherited from itk::FiniteDifferenceFunction< TImageType > | |
static constexpr unsigned int | ImageDimension = ImageType::ImageDimension |
Protected Member Functions | |
GPUFiniteDifferenceFunction () | |
~GPUFiniteDifferenceFunction () override=default | |
Protected Member Functions inherited from itk::FiniteDifferenceFunction< TImageType > | |
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 | PrintSelf (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 {} |
Protected Attributes inherited from itk::FiniteDifferenceFunction< TImageType > | |
RadiusType | m_Radius {} |
PixelRealType | m_ScaleCoefficients [ImageDimension] {} |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
using itk::GPUFiniteDifferenceFunction< TImageType >::ConstPointer = SmartPointer<const Self> |
Definition at line 57 of file itkGPUFiniteDifferenceFunction.h.
using itk::GPUFiniteDifferenceFunction< TImageType >::DifferenceFunctionType = Superclass |
Definition at line 55 of file itkGPUFiniteDifferenceFunction.h.
using itk::GPUFiniteDifferenceFunction< TImageType >::Pointer = SmartPointer<Self> |
Definition at line 56 of file itkGPUFiniteDifferenceFunction.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.
|
inlineprotected |
Definition at line 117 of file itkGPUFiniteDifferenceFunction.h.
References itk::GPUKernelManager::New().
|
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 >.
|
inlinevirtual |
Allocate GPU buffers for computing metric statistics
Reimplemented in itk::GPUDemonsRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >.
Definition at line 107 of file itkGPUFiniteDifferenceFunction.h.
|
pure virtual |
GPU function to compute update buffer
|
inlinevirtual |
Release GPU buffers for computing metric statistics
Reimplemented in itk::GPUDemonsRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >.
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.