ITK  4.10.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter > Class Template Reference

#include <itkGPUPDEDeformableRegistrationFilter.h>

+ Inheritance diagram for itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >:
+ Collaboration diagram for itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >:

Detailed Description

template<typename TFixedImage, typename TMovingImage, typename TDisplacementField, typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
class itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >

Deformably register two images using a PDE algorithm.

GPUPDEDeformableRegistrationFilter is a base case for filter implementing a PDE deformable algorithm that register two images by computing the deformation field which will map a moving image onto a fixed image.

A deformation field is represented as a image whose pixel type is some vector type with at least N elements, where N is the dimension of the fixed image. The vector type must support element access via operator []. It is assumed that the vector elements behave like floating point scalars.

This class is templated over the fixed image type, moving image type and the deformation Field type.

The input fixed and moving images are set via methods SetFixedImage and SetMovingImage respectively. An initial deformation field maybe set via SetInitialDisplacementField or SetInput. If no initial field is set, a zero field is used as the initial condition.

The output deformation field can be obtained via methods GetOutput or GetDisplacementField.

The PDE algorithm is run for a user defined number of iterations. Typically the PDE algorithm requires period Gaussin smoothing of the deformation field to enforce an elastic-like condition. The amount of smoothing is governed by a set of user defined standard deviations (one for each dimension).

In terms of memory, this filter keeps two internal buffers: one for storing the intermediate updates to the field and one for double-buffering when smoothing the deformation field. Both buffers are the same type and size as the output deformation field.

This class make use of the finite difference solver hierarchy. Update for each iteration is computed using a PDEDeformableRegistrationFunction.

Warning
This filter assumes that the fixed image type, moving image type and deformation field type all have the same number of dimensions.
See also
PDEDeformableRegistrationFunction.

Definition at line 81 of file itkGPUPDEDeformableRegistrationFilter.h.

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef TParentImageFilter CPUSuperclass
 
typedef TDisplacementField::PixelType::ValueType DeformationScalarType
 
typedef TDisplacementField::PixelType DeformationVectorType
 
typedef DisplacementFieldType::Pointer DisplacementFieldPointer
 
typedef TDisplacementField DisplacementFieldType
 
typedef GPUSuperclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType
 
typedef FixedImageType::ConstPointer FixedImageConstPointer
 
typedef FixedImageType::Pointer FixedImagePointer
 
typedef TFixedImage FixedImageType
 
typedef GPUPDEDeformableRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldTypeGPUPDEDeformableRegistrationFunctionType
 
typedef GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter > GPUSuperclass
 
typedef MovingImageType::ConstPointer MovingImageConstPointer
 
typedef MovingImageType::Pointer MovingImagePointer
 
typedef TMovingImage MovingImageType
 
typedef GPUSuperclass::OutputImageType OutputImageType
 
typedef SmartPointer< SelfPointer
 
typedef GPUPDEDeformableRegistrationFilter Self
 
typedef FixedArray< double, ImageDimensionStandardDeviationsType
 
- Public Types inherited from itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
typedef SmartPointer< const SelfConstPointer
 
typedef TParentImageFilter CPUSuperclass
 
typedef GPUSuperclass::FiniteDifferenceFunctionType FiniteDifferenceFunctionType
 
typedef GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter > GPUSuperclass
 
typedef GPUSuperclass::InputImageType InputImageType
 
typedef GPUSuperclass::OutputImageType OutputImageType
 
typedef GPUSuperclass::PixelType PixelType
 
typedef SmartPointer< SelfPointer
 
typedef GPUDenseFiniteDifferenceImageFilter Self
 
typedef GPUSuperclass::TimeStepType TimeStepType
 
typedef OutputImageType UpdateBufferType
 
- Public Types inherited from itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
typedef SmartPointer< const SelfConstPointer
 
typedef TParentImageFilter CPUSuperclass
 
enum  FilterStateType
 
typedef GPUFiniteDifferenceFunction< TDisplacementField >::DifferenceFunctionType FiniteDifferenceFunctionType
 
typedef GPUInPlaceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter > GPUSuperclass
 
typedef TDisplacementField InputImageType
 
typedef TDisplacementField::PixelType InputPixelType
 
typedef NumericTraits< InputPixelType >::ValueType InputPixelValueType
 
typedef FiniteDifferenceFunctionType::NeighborhoodScalesType NeighborhoodScalesType
 
typedef TDisplacementField OutputImageType
 
typedef TDisplacementField::PixelType OutputPixelType
 
typedef NumericTraits< OutputPixelType >::ValueType OutputPixelValueType
 
typedef OutputPixelType PixelType
 
typedef SmartPointer< SelfPointer
 
typedef FiniteDifferenceFunctionType::RadiusType RadiusType
 
typedef GPUFiniteDifferenceImageFilter Self
 
typedef FiniteDifferenceFunctionType::TimeStepType TimeStepType
 
- Public Types inherited from itk::GPUInPlaceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
typedef SmartPointer< const SelfConstPointer
 
typedef TParentImageFilter CPUSuperclass
 
typedef GPUImageToImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter > GPUSuperclass
 
typedef InputImageType::ConstPointer InputImageConstPointer
 
typedef InputImageType::PixelType InputImagePixelType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef TDisplacementField InputImageType
 
typedef GPUSuperclass::OutputImagePixelType OutputImagePixelType
 
typedef GPUSuperclass::OutputImagePointer OutputImagePointer
 
typedef GPUSuperclass::OutputImageRegionType OutputImageRegionType
 
typedef GPUSuperclass::OutputImageType OutputImageType
 
typedef SmartPointer< SelfPointer
 
typedef GPUInPlaceImageFilter Self
 
- Public Types inherited from itk::GPUImageToImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DataObjectIdentifierType DataObjectIdentifierType
 
typedef InputImageType::ConstPointer InputImageConstPointer
 
typedef InputImageType::PixelType InputImagePixelType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef TDisplacementField InputImageType
 
typedef Superclass::OutputImagePixelType OutputImagePixelType
 
typedef Superclass::OutputImageRegionType OutputImageRegionType
 
typedef SmartPointer< SelfPointer
 
typedef GPUImageToImageFilter Self
 
typedef TParentImageFilter Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
DisplacementFieldTypeGetDisplacementField ()
 
const FixedImageTypeGetFixedImage () const
 
const MovingImageTypeGetMovingImage () const
 
virtual const char * GetNameOfClass () const
 
 itkGetOpenCLSourceFromKernelMacro (GPUPDEDeformableRegistrationFilterKernel)
 
void SetFixedImage (const FixedImageType *ptr)
 
void SetInitialDisplacementField (const DisplacementFieldType *ptr)
 
void SetMovingImage (const MovingImageType *ptr)
 
- Public Member Functions inherited from itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
 itkGetOpenCLSourceFromKernelMacro (GPUDenseFiniteDifferenceImageFilterKernel)
 
- Public Member Functions inherited from itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
virtual const FiniteDifferenceFunctionType::Pointer & GetDifferenceFunction () const override
 
void SetStateToInitialized ()
 
void SetStateToUninitialized ()
 
virtual void SetDifferenceFunction (FiniteDifferenceFunctionType *differenceFunction) override
 
virtual void SetState (FilterStateType _arg)
 
virtual const FilterStateTypeGetState () const
 
virtual const TimeProbeGetInitTime () const
 
virtual const TimeProbeGetComputeUpdateTime () const
 
virtual const TimeProbeGetApplyUpdateTime () const
 
virtual const TimeProbeGetSmoothFieldTime () const
 
- Public Member Functions inherited from itk::GPUImageToImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
void GenerateData () override
 
virtual bool GetGPUEnabled () const
 
virtual void GPUEnabledOff ()
 
virtual void GPUEnabledOn ()
 
virtual void GraftOutput (DataObject *output) override
 
virtual void GraftOutput (const DataObjectIdentifierType &key, DataObject *output) override
 
virtual void SetGPUEnabled (bool _arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::GPUImageToImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
static Pointer New ()
 

Static Public Attributes

static const unsigned int ImageDimension = GPUSuperclass::ImageDimension
 
- Static Public Attributes inherited from itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
static const unsigned int ImageDimension
 
- Static Public Attributes inherited from itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
static const unsigned int ImageDimension
 
- Static Public Attributes inherited from itk::GPUInPlaceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
static const unsigned int InputImageDimension
 
static const unsigned int OutputImageDimension
 
- Static Public Attributes inherited from itk::GPUImageToImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
static const unsigned int InputImageDimension
 
static const unsigned int OutputImageDimension
 

Protected Member Functions

virtual void AllocateSmoothingBuffer ()
 
virtual void CopyInputToOutput () override
 
virtual void GenerateInputRequestedRegion () override
 
virtual void GenerateOutputInformation () override
 
 GPUPDEDeformableRegistrationFilter ()
 
virtual void GPUSmoothVectorField (DisplacementFieldPointer field, typename GPUDataManager::Pointer GPUSmoothingKernels[], int GPUSmoothingKernelSizes[])
 
virtual void Initialize () override
 
virtual void InitializeIteration () override
 
virtual void PostProcessOutput () override
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SmoothDisplacementField () override
 
virtual void SmoothUpdateField () override
 
 ~GPUPDEDeformableRegistrationFilter ()
 
- Protected Member Functions inherited from itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
virtual void AllocateUpdateBuffer () override
 
virtual void ApplyUpdate (const TimeStepType &dt) override
 
virtual UpdateBufferTypeGetUpdateBuffer () override
 
virtual void GPUApplyUpdate (const TimeStepType &dt) override
 
virtual TimeStepType GPUCalculateChange () override
 
 GPUDenseFiniteDifferenceImageFilter ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~GPUDenseFiniteDifferenceImageFilter ()
 
- Protected Member Functions inherited from itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
virtual void GPUApplyUpdate (const TimeStepType &dt)=0
 
 GPUFiniteDifferenceImageFilter ()
 
virtual void GPUGenerateData () override
 
virtual bool Halt () 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 ()
 
- Protected Member Functions inherited from itk::GPUInPlaceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
virtual void AllocateOutputs () override
 
 GPUInPlaceImageFilter ()
 
virtual void ReleaseInputs () override
 
 ~GPUInPlaceImageFilter ()
 
- Protected Member Functions inherited from itk::GPUImageToImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
 GPUImageToImageFilter ()
 
 ~GPUImageToImageFilter ()
 

Private Member Functions

 GPUPDEDeformableRegistrationFilter (const Self &) ITK_DELETE_FUNCTION
 
void operator= (const Self &) ITK_DELETE_FUNCTION
 

Private Attributes

GPUDataManager::Pointer m_GPUImageSizes
 
GPUDataManager::Pointer m_GPUSmoothingKernels [ImageDimension]
 
int * m_ImageSizes
 
int m_SmoothDisplacementFieldGPUKernelHandle
 
DeformationScalarTypem_SmoothingKernels [ImageDimension]
 
int m_SmoothingKernelSizes [ImageDimension]
 
DisplacementFieldPointer m_TempField
 
GPUDataManager::Pointer m_UpdateFieldGPUSmoothingKernels [ImageDimension]
 
DeformationScalarTypem_UpdateFieldSmoothingKernels [ImageDimension]
 
int m_UpdateFieldSmoothingKernelSizes [ImageDimension]
 

Additional Inherited Members

- Protected Attributes inherited from itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
int m_ApplyUpdateGPUKernelHandle
 
- Protected Attributes inherited from itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
TimeProbe m_ApplyUpdateTime
 
TimeProbe m_ComputeUpdateTime
 
TimeProbe m_InitTime
 
bool m_ManualReinitialization
 
double m_MaximumRMSError
 
double m_RMSChange
 
TimeProbe m_SmoothFieldTime
 
- Protected Attributes inherited from itk::GPUImageToImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >
GPUKernelManager::Pointer m_GPUKernelManager
 

Member Typedef Documentation

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef SmartPointer< const Self > itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::ConstPointer

Definition at line 90 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef TParentImageFilter itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::CPUSuperclass

Definition at line 88 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef TDisplacementField::PixelType::ValueType itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::DeformationScalarType

Definition at line 114 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef TDisplacementField::PixelType itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::DeformationVectorType

Definition at line 112 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef DisplacementFieldType::Pointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::DisplacementFieldPointer

Definition at line 111 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef TDisplacementField itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::DisplacementFieldType

Deformation field type.

Definition at line 110 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef GPUSuperclass::FiniteDifferenceFunctionType itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::FiniteDifferenceFunctionType
template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef FixedImageType::ConstPointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::FixedImageConstPointer

Definition at line 102 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef FixedImageType::Pointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::FixedImagePointer

Definition at line 101 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef TFixedImage itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::FixedImageType

FixedImage image type.

Definition at line 97 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef GPUPDEDeformableRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GPUPDEDeformableRegistrationFunctionType

PDEDeformableRegistrationFilterFunction type. GPUPDEDeformableRegistrationFilterFunction type.

Definition at line 127 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter > itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GPUSuperclass

Definition at line 87 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef MovingImageType::ConstPointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::MovingImageConstPointer

Definition at line 107 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef MovingImageType::Pointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::MovingImagePointer

Definition at line 106 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef TMovingImage itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::MovingImageType

MovingImage image type.

Definition at line 105 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef GPUSuperclass::OutputImageType itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::OutputImageType

Types inherithed from the GPUSuperclass

Definition at line 117 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef SmartPointer< Self > itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::Pointer

Definition at line 89 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef GPUPDEDeformableRegistrationFilter itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::Self

Standard class typedefs.

Definition at line 86 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef FixedArray< double, ImageDimension > itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::StandardDeviationsType

Definition at line 160 of file itkGPUPDEDeformableRegistrationFilter.h.

Constructor & Destructor Documentation

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GPUPDEDeformableRegistrationFilter ( )
protected
template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::~GPUPDEDeformableRegistrationFilter ( )
inlineprotected

Definition at line 164 of file itkGPUPDEDeformableRegistrationFilter.h.

References itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::AllocateSmoothingBuffer(), itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::CopyInputToOutput(), itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GenerateInputRequestedRegion(), itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GenerateOutputInformation(), itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GPUPDEDeformableRegistrationFilter(), itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GPUSmoothVectorField(), itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::Initialize(), itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::InitializeIteration(), itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::operator=(), itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::PostProcessOutput(), itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::PrintSelf(), itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::SmoothDisplacementField(), and itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::SmoothUpdateField().

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GPUPDEDeformableRegistrationFilter ( const Self )
private

Member Function Documentation

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::AllocateSmoothingBuffer ( )
protectedvirtual
template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::CopyInputToOutput ( )
overrideprotectedvirtual

A simple method to copy the data from the input to the output. If the input does not exist, a zero field is written to the output.

Reimplemented from itk::GPUDenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >.

Referenced by itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::~GPUPDEDeformableRegistrationFilter().

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual::itk::LightObject::Pointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::CreateAnother ( ) const
template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GenerateInputRequestedRegion ( )
overrideprotectedvirtual

It is difficult to compute in advance the input moving image region required to compute the requested output region. Thus the safest thing to do is to request for the whole moving image.

For the fixed image and deformation field, the input requested region set to be the same as that of the output requested region.

Reimplemented from itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >.

Referenced by itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::~GPUPDEDeformableRegistrationFilter().

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GenerateOutputInformation ( )
overrideprotectedvirtual

By default the output deformation field has the same Spacing, Origin and LargestPossibleRegion as the input/initial deformation field. If the initial deformation field is not set, the output information is copied from the fixed image.

Referenced by itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::~GPUPDEDeformableRegistrationFilter().

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
DisplacementFieldType* itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GetDisplacementField ( void  )
inline

Get output deformation field.

Definition at line 155 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
const FixedImageType* itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GetFixedImage ( ) const

Get the fixed image.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
const MovingImageType* itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GetMovingImage ( ) const

Get the moving image.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual const char* itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GetNameOfClass ( ) const
virtual
template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GPUSmoothVectorField ( DisplacementFieldPointer  field,
typename GPUDataManager::Pointer  GPUSmoothingKernels[],
int  GPUSmoothingKernelSizes[] 
)
protectedvirtual
template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::Initialize ( )
overrideprotectedvirtual
template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::InitializeIteration ( )
overrideprotectedvirtual
template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::itkGetOpenCLSourceFromKernelMacro ( GPUPDEDeformableRegistrationFilterKernel  )

Get OpenCL Kernel source as a string, creates a GetOpenCLSource method

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
static Pointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::New ( )
static

Method for creation through the object factory.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::operator= ( const Self )
private
template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::PostProcessOutput ( )
overrideprotectedvirtual

This method is called after the solution has been generated. In this case, the filter release the memory of the internal buffers.

Reimplemented from itk::GPUFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField, TParentImageFilter >.

Referenced by itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::~GPUPDEDeformableRegistrationFilter().

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual
template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::SetFixedImage ( const FixedImageType ptr)

Set the fixed image.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::SetInitialDisplacementField ( const DisplacementFieldType ptr)
inline

Set initial deformation field.

Definition at line 149 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::SetMovingImage ( const MovingImageType ptr)

Set the moving image.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::SmoothDisplacementField ( )
overrideprotectedvirtual

Utility to smooth the deformation field (represented in the Output) using a Guassian operator. The amount of smoothing can be specified by setting the StandardDeviations.

Referenced by itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::~GPUPDEDeformableRegistrationFilter().

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::SmoothUpdateField ( )
overrideprotectedvirtual

Utility to smooth the UpdateBuffer using a Gaussian operator. The amount of smoothing can be specified by setting the UpdateFieldStandardDeviations.

Referenced by itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::~GPUPDEDeformableRegistrationFilter().

Member Data Documentation

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
const unsigned int itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::ImageDimension = GPUSuperclass::ImageDimension
static

Inherit some enums and typedefs from the GPUSuperclass.

Definition at line 131 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
GPUDataManager::Pointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::m_GPUImageSizes
private

Definition at line 235 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
GPUDataManager::Pointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::m_GPUSmoothingKernels[ImageDimension]
private

Definition at line 227 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
int* itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::m_ImageSizes
private

Definition at line 234 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
int itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::m_SmoothDisplacementFieldGPUKernelHandle
private

Definition at line 238 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
DeformationScalarType* itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::m_SmoothingKernels[ImageDimension]
private

Definition at line 226 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
int itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::m_SmoothingKernelSizes[ImageDimension]
private

Memory buffer for smoothing kernels of the displacement field.

Definition at line 225 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
DisplacementFieldPointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::m_TempField
private

Temporary deformation field use for smoothing the the deformation field.

Definition at line 221 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
GPUDataManager::Pointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::m_UpdateFieldGPUSmoothingKernels[ImageDimension]
private

Definition at line 232 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
DeformationScalarType* itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::m_UpdateFieldSmoothingKernels[ImageDimension]
private

Definition at line 231 of file itkGPUPDEDeformableRegistrationFilter.h.

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField , typename TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
int itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::m_UpdateFieldSmoothingKernelSizes[ImageDimension]
private

Memory buffer for smoothing kernels of the update field.

Definition at line 230 of file itkGPUPDEDeformableRegistrationFilter.h.


The documentation for this class was generated from the following file: