ITK  4.9.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,
DisplacementFieldType
GPUPDEDeformableRegistrationFunctionType
 
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,
ImageDimension
StandardDeviationsType
 
- 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)
 
 typedef (Concept::MultiplyOperator< PixelType, double >) OutputTimesDoubleCheck
 
 typedef (Concept::AdditiveOperators< PixelType >) OutputAdditiveOperatorsCheck
 
 typedef (Concept::Convertible< typename TDisplacementField::PixelType, PixelType >) InputConvertibleToOutputCheck
 
- 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.

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 >.

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 >.

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.

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

Smooth a vector field, which may be m_DisplacementField or m_UpdateBuffer.

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

This method is called before iterating the solution.

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

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

Initialize the state of filter and equation before each iteration. Progress feeback is implemented as part of this method.

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

Reimplemented in itk::GPUDemonsRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >.

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 >.

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.

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.

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: