ITK  4.3.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<class TFixedImage, class TMovingImage, class TDisplacementField, class 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 (void) const
 
DisplacementFieldTypeGetDisplacementField ()
 
const FixedImageTypeGetFixedImage (void) const
 
const MovingImageTypeGetMovingImage (void) const
 
virtual const char * GetNameOfClass () const
 
virtual std::vector
< SmartPointer< DataObject >
>::size_type 
GetNumberOfValidRequiredInputs () 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 void SetDifferenceFunction (FiniteDifferenceFunctionType *_arg)
 
void SetStateToInitialized ()
 
void SetStateToUninitialized ()
 
virtual const
FiniteDifferenceFunctionType::Pointer & 
GetDifferenceFunction () const
 
virtual void SetUseImageSpacing (bool _arg)
 
virtual void UseImageSpacingOn ()
 
virtual void UseImageSpacingOff ()
 
virtual const bool & GetUseImageSpacing ()
 
virtual void SetMaximumRMSError (double _arg)
 
virtual const double & GetMaximumRMSError ()
 
virtual void SetRMSChange (double _arg)
 
virtual const double & GetRMSChange ()
 
virtual void SetState (FilterStateType _arg)
 
virtual const FilterStateTypeGetState ()
 
virtual void SetManualReinitialization (bool _arg)
 
virtual const bool & GetManualReinitialization ()
 
virtual void ManualReinitializationOn ()
 
virtual void ManualReinitializationOff ()
 
virtual const TimeProbeGetInitTime ()
 
virtual const TimeProbeGetComputeUpdateTime ()
 
virtual const TimeProbeGetApplyUpdateTime ()
 
virtual const TimeProbeGetSmoothFieldTime ()
 

Static Public Member Functions

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

Private Member Functions

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

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
 

Member Typedef Documentation

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef TParentImageFilter itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::CPUSuperclass

Definition at line 88 of file itkGPUPDEDeformableRegistrationFilter.h.

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef TDisplacementField::PixelType itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::DeformationVectorType

Definition at line 112 of file itkGPUPDEDeformableRegistrationFilter.h.

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

Definition at line 111 of file itkGPUPDEDeformableRegistrationFilter.h.

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef GPUSuperclass::FiniteDifferenceFunctionType itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::FiniteDifferenceFunctionType
template<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef FixedImageType::ConstPointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::FixedImageConstPointer

Definition at line 102 of file itkGPUPDEDeformableRegistrationFilter.h.

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

Definition at line 101 of file itkGPUPDEDeformableRegistrationFilter.h.

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef MovingImageType::ConstPointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::MovingImageConstPointer

Definition at line 107 of file itkGPUPDEDeformableRegistrationFilter.h.

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

Definition at line 106 of file itkGPUPDEDeformableRegistrationFilter.h.

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef SmartPointer< Self > itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::Pointer

Definition at line 89 of file itkGPUPDEDeformableRegistrationFilter.h.

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
typedef FixedArray< double, ImageDimension > itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::StandardDeviationsType

Definition at line 167 of file itkGPUPDEDeformableRegistrationFilter.h.

Constructor & Destructor Documentation

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

Definition at line 171 of file itkGPUPDEDeformableRegistrationFilter.h.

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

Member Function Documentation

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

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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual::itk::LightObject::Pointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::CreateAnother ( void  ) const
template<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GenerateInputRequestedRegion ( )
protectedvirtual

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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GenerateOutputInformation ( )
protectedvirtual

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<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
const FixedImageType* itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GetFixedImage ( void  ) const

Get the fixed image.

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

Get the moving image.

template<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual const char* itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GetNameOfClass ( ) const
virtual
template<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual std::vector< SmartPointer< DataObject > >::size_type itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::GetNumberOfValidRequiredInputs ( ) const
virtual

Get the number of valid inputs. For PDEDeformableRegistration, this checks whether the fixed and moving images have been set. While PDEDeformableRegistration can take a third input as an initial deformation field, this input is not a required input.

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::Initialize ( )
protectedvirtual

This method is called before iterating the solution.

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

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

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<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
static Pointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::New ( )
static

Method for creation through the object factory.

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

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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual
template<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::SetFixedImage ( const FixedImageType ptr)

Set the fixed image.

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::SetMovingImage ( const MovingImageType ptr)

Set the moving image.

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

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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
virtual void itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::SmoothUpdateField ( )
protectedvirtual

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

Member Data Documentation

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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<class TFixedImage , class TMovingImage , class TDisplacementField , class TParentImageFilter = PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >>
GPUDataManager::Pointer itk::GPUPDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField, TParentImageFilter >::m_GPUImageSizes
private

Definition at line 242 of file itkGPUPDEDeformableRegistrationFilter.h.

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

Definition at line 234 of file itkGPUPDEDeformableRegistrationFilter.h.

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

Definition at line 241 of file itkGPUPDEDeformableRegistrationFilter.h.

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

Definition at line 245 of file itkGPUPDEDeformableRegistrationFilter.h.

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

Definition at line 233 of file itkGPUPDEDeformableRegistrationFilter.h.

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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 232 of file itkGPUPDEDeformableRegistrationFilter.h.

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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 228 of file itkGPUPDEDeformableRegistrationFilter.h.

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

Definition at line 239 of file itkGPUPDEDeformableRegistrationFilter.h.

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

Definition at line 238 of file itkGPUPDEDeformableRegistrationFilter.h.

template<class TFixedImage , class TMovingImage , class TDisplacementField , class 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 237 of file itkGPUPDEDeformableRegistrationFilter.h.


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