![]() |
ITK
4.13.0
Insight Segmentation and Registration Toolkit
|
#include <itkGPUDenseFiniteDifferenceImageFilter.h>
This is the GPU version of DenseFiniteDifferenceImageFilter class. Currently only single-threaded, single GPU version is implemented. See documentation for FiniteDifferenceImageFilter for an overview of the iterative finite difference algorithm:
Use m_UpdateBuffer defined in CPU superclass (DenseFiniteDifferenceImageFilter).
Definition at line 54 of file itkGPUDenseFiniteDifferenceImageFilter.h.
Public Member Functions | |
virtual const char * | GetNameOfClass () const |
itkGetOpenCLSourceFromKernelMacro (GPUDenseFiniteDifferenceImageFilterKernel) | |
![]() | |
virtual const FiniteDifferenceFunctionType::Pointer & | GetDifferenceFunction () const override |
void | SetStateToInitialized () |
void | SetStateToUninitialized () |
virtual void | SetDifferenceFunction (FiniteDifferenceFunctionType *differenceFunction) override |
virtual void | SetState (FilterStateType _arg) |
virtual const FilterStateType & | GetState () const |
virtual const TimeProbe & | GetInitTime () const |
virtual const TimeProbe & | GetComputeUpdateTime () const |
virtual const TimeProbe & | GetApplyUpdateTime () const |
virtual const TimeProbe & | GetSmoothFieldTime () const |
![]() | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
void | GenerateData () override |
virtual bool | GetGPUEnabled () const |
virtual void | GPUEnabledOff () |
virtual void | GPUEnabledOn () |
virtual void | GraftOutput (typename itk::GPUTraits< TOutputImage >::Type *output) |
virtual void | GraftOutput (const DataObjectIdentifierType &key, typename itk::GPUTraits< TOutputImage >::Type *output) |
virtual void | SetGPUEnabled (bool _arg) |
Static Public Attributes | |
static const unsigned int | ImageDimension = GPUSuperclass::ImageDimension |
![]() | |
static const unsigned int | ImageDimension = OutputImageType::ImageDimension |
![]() | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
![]() | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Member Functions | |
virtual void | AllocateUpdateBuffer () override |
virtual void | ApplyUpdate (const TimeStepType &dt) override |
virtual void | CopyInputToOutput () override |
virtual UpdateBufferType * | GetUpdateBuffer () override |
virtual void | GPUApplyUpdate (const TimeStepType &dt) override |
virtual TimeStepType | GPUCalculateChange () override |
GPUDenseFiniteDifferenceImageFilter () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~GPUDenseFiniteDifferenceImageFilter () override | |
![]() | |
virtual void | GenerateInputRequestedRegion () override |
virtual void | GPUApplyUpdate (const TimeStepType &dt)=0 |
GPUFiniteDifferenceImageFilter () | |
virtual void | GPUGenerateData () override |
virtual bool | Halt () override |
virtual void | Initialize () override |
virtual void | InitializeIteration () override |
virtual void | PostProcessOutput () override |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual TimeStepType | ResolveTimeStep (const std::vector< TimeStepType > &timeStepList, const std::vector< bool > &valid) const override |
virtual bool | ThreadedHalt (void *) override |
~GPUFiniteDifferenceImageFilter () override | |
![]() | |
virtual void | AllocateOutputs () override |
GPUInPlaceImageFilter () | |
virtual void | ReleaseInputs () override |
~GPUInPlaceImageFilter () override | |
![]() | |
GPUImageToImageFilter () | |
virtual void | GraftOutput (DataObject *output) override |
virtual void | GraftOutput (const DataObjectIdentifierType &key, DataObject *output) override |
~GPUImageToImageFilter () override | |
Protected Attributes | |
int | m_ApplyUpdateGPUKernelHandle |
![]() | |
TimeProbe | m_ApplyUpdateTime |
TimeProbe | m_ComputeUpdateTime |
TimeProbe | m_InitTime |
bool | m_ManualReinitialization |
double | m_MaximumRMSError |
double | m_RMSChange |
TimeProbe | m_SmoothFieldTime |
![]() | |
GPUKernelManager::Pointer | m_GPUKernelManager |
Additional Inherited Members | |
![]() | |
static Pointer | New () |
typedef SmartPointer< const Self > itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::ConstPointer |
Definition at line 64 of file itkGPUDenseFiniteDifferenceImageFilter.h.
typedef TParentImageFilter itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::CPUSuperclass |
Definition at line 62 of file itkGPUDenseFiniteDifferenceImageFilter.h.
typedef GPUSuperclass::FiniteDifferenceFunctionType itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::FiniteDifferenceFunctionType |
Definition at line 72 of file itkGPUDenseFiniteDifferenceImageFilter.h.
typedef GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter > itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::GPUSuperclass |
Definition at line 61 of file itkGPUDenseFiniteDifferenceImageFilter.h.
typedef GPUSuperclass::InputImageType itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::InputImageType |
Convenient typedefs
Definition at line 67 of file itkGPUDenseFiniteDifferenceImageFilter.h.
typedef GPUSuperclass::OutputImageType itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::OutputImageType |
Definition at line 71 of file itkGPUDenseFiniteDifferenceImageFilter.h.
typedef GPUSuperclass::PixelType itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::PixelType |
The pixel type of the output image will be used in computations. Inherited from the superclass.
Definition at line 80 of file itkGPUDenseFiniteDifferenceImageFilter.h.
typedef SmartPointer< Self > itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::Pointer |
Definition at line 63 of file itkGPUDenseFiniteDifferenceImageFilter.h.
typedef GPUDenseFiniteDifferenceImageFilter itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::Self |
Standard class typedefs
Definition at line 60 of file itkGPUDenseFiniteDifferenceImageFilter.h.
typedef GPUSuperclass::TimeStepType itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::TimeStepType |
The value type of a time step. Inherited from the superclass.
Definition at line 83 of file itkGPUDenseFiniteDifferenceImageFilter.h.
typedef OutputImageType itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::UpdateBufferType |
The container type for the update buffer.
Definition at line 86 of file itkGPUDenseFiniteDifferenceImageFilter.h.
|
protected |
|
inlineoverrideprotected |
Definition at line 104 of file itkGPUDenseFiniteDifferenceImageFilter.h.
|
overrideprotectedvirtual |
This method allocates storage in m_UpdateBuffer. It is called from Superclass::GenerateData().
Implements itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >.
|
overrideprotectedvirtual |
This method applies changes from the m_UpdateBuffer to the output using the GPU. "dt" is the time step to use for the update of each pixel.
Reimplemented in itk::GPUDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >.
|
overrideprotectedvirtual |
A simple method to copy the data from the input to the output. ( Supports "read-only" image adaptors in the case where the input image type converts to a different output image type. )
Implements itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >.
Reimplemented in itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >.
|
virtual |
Run-time type information (and related methods)
Reimplemented from itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >.
Reimplemented in itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >, itk::GPUDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >, itk::GPUGradientAnisotropicDiffusionImageFilter< TInputImage, TOutputImage, TParentImageFilter >, and itk::GPUAnisotropicDiffusionImageFilter< TInputImage, TOutputImage, TParentImageFilter >.
|
inlineoverrideprotectedvirtual |
Method to allow subclasses to get direct access to the update buffer
Definition at line 124 of file itkGPUDenseFiniteDifferenceImageFilter.h.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
This method populates an update buffer with changes for each pixel in the output using the GPU. Returns value is a time step to be used for the update.
Implements itk::GPUFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >.
itk::GPUDenseFiniteDifferenceImageFilter< TInputImage, TOutputImage, TParentImageFilter >::itkGetOpenCLSourceFromKernelMacro | ( | GPUDenseFiniteDifferenceImageFilterKernel | ) |
Get OpenCL Kernel source as a string, creates a GetOpenCLSource method
|
overrideprotectedvirtual |
|
static |
Dimensionality of input and output data is assumed to be the same. It is inherited from the superclass.
Definition at line 76 of file itkGPUDenseFiniteDifferenceImageFilter.h.
|
protected |
Definition at line 133 of file itkGPUDenseFiniteDifferenceImageFilter.h.