ITK
4.4.0
Insight Segmentation and Registration 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 | |
virtual const char * | GetNameOfClass () const |
virtual void | GPUAllocateMetricData (unsigned int) |
virtual void | GPUComputeUpdate (const typename TImageType::Pointer output, typename TImageType::Pointer update, void *gd)=0 |
virtual void | GPUReleaseMetricData () |
virtual void | InitializeIteration () |
virtual PixelType | ComputeUpdate (const NeighborhoodType &, void *, const FloatOffsetType &) |
Public Member Functions inherited from itk::FiniteDifferenceFunction< TImageType > | |
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 | ReleaseGlobalDataPointer (void *GlobalData) const =0 |
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 |
Static Public Attributes | |
static const unsigned int | ImageDimension = ImageType::ImageDimension |
Static Public Attributes inherited from itk::FiniteDifferenceFunction< TImageType > | |
static const unsigned int | ImageDimension = ImageType::ImageDimension |
Protected Member Functions | |
GPUFiniteDifferenceFunction () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
~GPUFiniteDifferenceFunction () | |
Protected Member Functions inherited from itk::FiniteDifferenceFunction< TImageType > | |
FiniteDifferenceFunction () | |
~FiniteDifferenceFunction () | |
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 () |
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 | |
InternalReferenceCountType | m_ReferenceCount |
SimpleFastMutexLock | m_ReferenceCountLock |
Private Member Functions | |
GPUFiniteDifferenceFunction (const Self &) | |
void | operator= (const Self &) |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Types inherited from itk::LightObject | |
typedef int | InternalReferenceCountType |
typedef SmartPointer< const Self > itk::GPUFiniteDifferenceFunction< TImageType >::ConstPointer |
Definition at line 56 of file itkGPUFiniteDifferenceFunction.h.
typedef Superclass::DefaultBoundaryConditionType itk::GPUFiniteDifferenceFunction< TImageType >::DefaultBoundaryConditionType |
The default boundary condition for finite difference functions that is used unless overridden in the Evaluate() method.
Definition at line 74 of file itkGPUFiniteDifferenceFunction.h.
typedef Superclass itk::GPUFiniteDifferenceFunction< TImageType >::DifferenceFunctionType |
Definition at line 54 of file itkGPUFiniteDifferenceFunction.h.
typedef Superclass::FloatOffsetType itk::GPUFiniteDifferenceFunction< TImageType >::FloatOffsetType |
A floating point offset from an image grid location. Used for interpolation among grid values in a neighborhood.
Definition at line 84 of file itkGPUFiniteDifferenceFunction.h.
typedef Superclass::ImageType itk::GPUFiniteDifferenceFunction< TImageType >::ImageType |
Extract some parameters from the image type
Definition at line 59 of file itkGPUFiniteDifferenceFunction.h.
typedef Superclass::NeighborhoodType itk::GPUFiniteDifferenceFunction< TImageType >::NeighborhoodType |
Neighborhood type
Definition at line 80 of file itkGPUFiniteDifferenceFunction.h.
typedef Superclass::PixelRealType itk::GPUFiniteDifferenceFunction< TImageType >::PixelRealType |
Definition at line 64 of file itkGPUFiniteDifferenceFunction.h.
typedef Superclass::PixelType itk::GPUFiniteDifferenceFunction< TImageType >::PixelType |
Definition at line 63 of file itkGPUFiniteDifferenceFunction.h.
typedef SmartPointer< Self > itk::GPUFiniteDifferenceFunction< TImageType >::Pointer |
Definition at line 55 of file itkGPUFiniteDifferenceFunction.h.
typedef Superclass::RadiusType itk::GPUFiniteDifferenceFunction< TImageType >::RadiusType |
Neighborhood radius type
Definition at line 77 of file itkGPUFiniteDifferenceFunction.h.
typedef GPUFiniteDifferenceFunction itk::GPUFiniteDifferenceFunction< TImageType >::Self |
Standard class typedefs.
Definition at line 52 of file itkGPUFiniteDifferenceFunction.h.
typedef FiniteDifferenceFunction< TImageType > itk::GPUFiniteDifferenceFunction< TImageType >::Superclass |
Definition at line 53 of file itkGPUFiniteDifferenceFunction.h.
typedef Superclass::TimeStepType itk::GPUFiniteDifferenceFunction< TImageType >::TimeStepType |
Define the TimeStepType to always be double.
Definition at line 70 of file itkGPUFiniteDifferenceFunction.h.
|
inlineprotected |
Definition at line 114 of file itkGPUFiniteDifferenceFunction.h.
|
inlineprotected |
Definition at line 117 of file itkGPUFiniteDifferenceFunction.h.
|
private |
|
inlinevirtual |
Empty implementation - this will not be used by GPU filters
Implements itk::FiniteDifferenceFunction< TImageType >.
Definition at line 90 of file itkGPUFiniteDifferenceFunction.h.
|
virtual |
Run-time type information (and related methods)
Reimplemented from itk::FiniteDifferenceFunction< TImageType >.
Reimplemented in itk::GPUDemonsRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >, itk::GPUGradientNDAnisotropicDiffusionFunction< TImage >, itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >, itk::GPUAnisotropicDiffusionFunction< TImage >, and itk::GPUScalarAnisotropicDiffusionFunction< TImage >.
|
inlinevirtual |
Allocate GPU buffers for computing metric statitics
Reimplemented in itk::GPUDemonsRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >.
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 statitics
Reimplemented in itk::GPUDemonsRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >.
Definition at line 111 of file itkGPUFiniteDifferenceFunction.h.
|
inlinevirtual |
This method allows the function to set its state before each iteration of the finite difference solver (image filter) that uses it. This is a thread-safe time to manipulate the object's state.
An example of how this can be used: the AnisotropicDiffusionFunction class of FiniteDifferenceFunction use this method to pre-calculate an average gradient magnitude across the entire image region. This value is set in the function object and used by the ComputeUpdate() methods that are called at each pixel as a constant.
Reimplemented from itk::FiniteDifferenceFunction< TImageType >.
Reimplemented in itk::GPUDemonsRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >, and itk::GPUGradientNDAnisotropicDiffusionFunction< TImage >.
Definition at line 86 of file itkGPUFiniteDifferenceFunction.h.
|
private |
|
inlineprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::FiniteDifferenceFunction< TImageType >.
Definition at line 120 of file itkGPUFiniteDifferenceFunction.h.
|
static |
Save image dimension.
Definition at line 67 of file itkGPUFiniteDifferenceFunction.h.
|
protected |
GPU kernel handle for GPUComputeUpdate()
Definition at line 129 of file itkGPUFiniteDifferenceFunction.h.
|
protected |
GPU kernel manager for GPUFiniteDifferenceFunction class
Definition at line 126 of file itkGPUFiniteDifferenceFunction.h.