ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField > Class Template Reference

#include <itkGPUPDEDeformableRegistrationFunction.h>

Detailed Description

template<typename TFixedImage, typename TMovingImage, typename TDisplacementField>
class itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >

This is an abstract base class for all PDE functions which drives a deformable registration algorithm. It is used by PDEDeformationRegistrationFilter subclasses to compute the output deformation field which will map a moving image onto a fixed image.

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

See also
PDEDeformableRegistrationFilter

Definition at line 41 of file itkGPUPDEDeformableRegistrationFunction.h.

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

Public Types

using ConstPointer = SmartPointer< const Self >
 
using DisplacementFieldType = TDisplacementField
 
using DisplacementFieldTypePointer = typename DisplacementFieldType::Pointer
 
using FixedImagePointer = typename FixedImageType::ConstPointer
 
using FixedImageType = TFixedImage
 
using MovingImagePointer = typename MovingImageType::ConstPointer
 
using MovingImageType = TMovingImage
 
using Pointer = SmartPointer< Self >
 
using Self = GPUPDEDeformableRegistrationFunction
 
using Superclass = GPUFiniteDifferenceFunction< TDisplacementField >
 
- Public Types inherited from itk::GPUFiniteDifferenceFunction< TDisplacementField >
using ConstPointer = SmartPointer< const Self >
 
using DifferenceFunctionType = Superclass
 
using Pointer = SmartPointer< Self >
 
using Self = GPUFiniteDifferenceFunction
 
using Superclass = FiniteDifferenceFunction< TDisplacementField >
 
- Public Types inherited from itk::FiniteDifferenceFunction< TDisplacementField >
using ConstPointer = SmartPointer< const Self >
 
using DefaultBoundaryConditionType = ZeroFluxNeumannBoundaryCondition< ImageType >
 
using FloatOffsetType = Vector< float, Self::ImageDimension >
 
using ImageType = TDisplacementField
 
using NeighborhoodScalesType = Vector< PixelRealType, Self::ImageDimension >
 
using NeighborhoodType = ConstNeighborhoodIterator< TDisplacementField, DefaultBoundaryConditionType >
 
using PixelRealType = double
 
using PixelType = typename ImageType::PixelType
 
using Pointer = SmartPointer< Self >
 
using RadiusType = typename ConstNeighborhoodIterator< TDisplacementField >::RadiusType
 
using Self = FiniteDifferenceFunction
 
using Superclass = LightObject
 
using TimeStepType = double
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

DisplacementFieldTypeGetDisplacementField ()
 
double GetEnergy () const
 
const FixedImageTypeGetFixedImage () const
 
double GetGradientStep () const
 
const MovingImageTypeGetMovingImage () const
 
const char * GetNameOfClass () const override
 
bool GetNormalizeGradient () const
 
void SetDisplacementField (DisplacementFieldTypePointer ptr)
 
void SetEnergy (double e)
 
void SetFixedImage (const FixedImageType *ptr)
 
void SetGradientStep (double e)
 
void SetMovingImage (const MovingImageType *ptr)
 
void SetNormalizeGradient (bool e)
 
- Public Member Functions inherited from itk::GPUFiniteDifferenceFunction< TDisplacementField >
const char * GetNameOfClass () const override
 
virtual void GPUAllocateMetricData (unsigned int)
 
virtual void GPUComputeUpdate (const typename TDisplacementField ::Pointer output, typename TDisplacementField ::Pointer update, void *gd)=0
 
virtual void GPUReleaseMetricData ()
 
PixelType ComputeUpdate (const NeighborhoodType &, void *, const FloatOffsetType &=FloatOffsetType(0.0)) override
 
- Public Member Functions inherited from itk::FiniteDifferenceFunction< TDisplacementField >
virtual TimeStepType ComputeGlobalTimeStep (void *GlobalData) const=0
 
const NeighborhoodScalesType ComputeNeighborhoodScales () const
 
virtual void * GetGlobalDataPointer () const=0
 
const RadiusTypeGetRadius () const
 
void GetScaleCoefficients (PixelRealType vals[ImageDimension]) const
 
virtual void InitializeIteration ()
 
virtual void ReleaseGlobalDataPointer (void *GlobalData) const=0
 
void SetRadius (const RadiusType &r)
 
void SetScaleCoefficients (const PixelRealType vals[ImageDimension])
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual Pointer CreateAnother () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const noexcept
 

Protected Member Functions

 GPUPDEDeformableRegistrationFunction ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~GPUPDEDeformableRegistrationFunction () override=default
 
- Protected Member Functions inherited from itk::GPUFiniteDifferenceFunction< TDisplacementField >
 GPUFiniteDifferenceFunction ()
 
 ~GPUFiniteDifferenceFunction () override=default
 
- Protected Member Functions inherited from itk::FiniteDifferenceFunction< TDisplacementField >
 FiniteDifferenceFunction ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~FiniteDifferenceFunction () override=default
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

DisplacementFieldTypePointer m_DisplacementField {}
 
double m_Energy {}
 
FixedImagePointer m_FixedImage {}
 
double m_GradientStep {}
 
MovingImagePointer m_MovingImage {}
 
bool m_NormalizeGradient {}
 
- Protected Attributes inherited from itk::GPUFiniteDifferenceFunction< TDisplacementField >
int m_ComputeUpdateGPUKernelHandle
 
GPUKernelManager::Pointer m_GPUKernelManager
 
- Protected Attributes inherited from itk::FiniteDifferenceFunction< TDisplacementField >
RadiusType m_Radius
 
PixelRealType m_ScaleCoefficients [ImageDimension]
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 
- Static Public Attributes inherited from itk::GPUFiniteDifferenceFunction< TDisplacementField >
static constexpr unsigned int ImageDimension
 
- Static Public Attributes inherited from itk::FiniteDifferenceFunction< TDisplacementField >
static constexpr unsigned int ImageDimension
 

Member Typedef Documentation

◆ ConstPointer

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
using itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::ConstPointer = SmartPointer<const Self>

Definition at line 50 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ DisplacementFieldType

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
using itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::DisplacementFieldType = TDisplacementField

Deformation field type.

Definition at line 64 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ DisplacementFieldTypePointer

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
using itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::DisplacementFieldTypePointer = typename DisplacementFieldType::Pointer

Definition at line 65 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ FixedImagePointer

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
using itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::FixedImagePointer = typename FixedImageType::ConstPointer

Definition at line 61 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ FixedImageType

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
using itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::FixedImageType = TFixedImage

FixedImage image type.

Definition at line 60 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ MovingImagePointer

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
using itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::MovingImagePointer = typename MovingImageType::ConstPointer

Definition at line 57 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ MovingImageType

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
using itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::MovingImageType = TMovingImage

MovingImage image type.

Definition at line 56 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ Pointer

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
using itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::Pointer = SmartPointer<Self>

Definition at line 49 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ Self

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
using itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::Self = GPUPDEDeformableRegistrationFunction

Standard class type aliases.

Definition at line 47 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ Superclass

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
using itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::Superclass = GPUFiniteDifferenceFunction<TDisplacementField>

Definition at line 48 of file itkGPUPDEDeformableRegistrationFunction.h.

Constructor & Destructor Documentation

◆ GPUPDEDeformableRegistrationFunction()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GPUPDEDeformableRegistrationFunction ( )
inlineprotected

Definition at line 147 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ ~GPUPDEDeformableRegistrationFunction()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::~GPUPDEDeformableRegistrationFunction ( )
overrideprotecteddefault

Member Function Documentation

◆ GetDisplacementField()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
DisplacementFieldType* itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetDisplacementField ( )
inline

Get the deformation field. This function should have been declared const. It is not for backward compatibility reasons.

Definition at line 105 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ GetEnergy()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
double itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetEnergy ( ) const
inline

Definition at line 117 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ GetFixedImage()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
const FixedImageType* itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetFixedImage ( ) const
inline

Get the fixed image.

Definition at line 90 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ GetGradientStep()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
double itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetGradientStep ( ) const
inline

Definition at line 129 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ GetMovingImage()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
const MovingImageType* itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetMovingImage ( ) const
inline

Get the moving image.

Definition at line 76 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ GetNameOfClass()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
const char* itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetNameOfClass ( ) const
overridevirtual

◆ GetNormalizeGradient()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
bool itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetNormalizeGradient ( ) const
inline

Definition at line 141 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ PrintSelf()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
void itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
inlineoverrideprotectedvirtual

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::LightObject.

Reimplemented in itk::GPUDemonsRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >.

Definition at line 160 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ SetDisplacementField()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
void itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetDisplacementField ( DisplacementFieldTypePointer  ptr)
inline

Set the deformation field image.

Definition at line 97 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ SetEnergy()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
void itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetEnergy ( double  e)
inline

Definition at line 111 of file itkGPUPDEDeformableRegistrationFunction.h.

References itk::Math::e.

◆ SetFixedImage()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
void itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetFixedImage ( const FixedImageType ptr)
inline

Set the fixed image.

Definition at line 83 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ SetGradientStep()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
void itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetGradientStep ( double  e)
inline

Definition at line 123 of file itkGPUPDEDeformableRegistrationFunction.h.

References itk::Math::e.

◆ SetMovingImage()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
void itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetMovingImage ( const MovingImageType ptr)
inline

Set the moving image.

Definition at line 69 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ SetNormalizeGradient()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
void itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetNormalizeGradient ( bool  e)
inline

Definition at line 135 of file itkGPUPDEDeformableRegistrationFunction.h.

References itk::Math::e.

Member Data Documentation

◆ m_DisplacementField

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
DisplacementFieldTypePointer itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_DisplacementField {}
protected

The deformation field.

Definition at line 176 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ m_Energy

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
double itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_Energy {}
mutableprotected

Definition at line 178 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ m_FixedImage

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
FixedImagePointer itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_FixedImage {}
protected

The fixed image.

Definition at line 173 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ m_GradientStep

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
double itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_GradientStep {}
mutableprotected

Definition at line 182 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ m_MovingImage

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
MovingImagePointer itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_MovingImage {}
protected

The moving image.

Definition at line 170 of file itkGPUPDEDeformableRegistrationFunction.h.

◆ m_NormalizeGradient

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
bool itk::GPUPDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_NormalizeGradient {}
protected

Definition at line 180 of file itkGPUPDEDeformableRegistrationFunction.h.


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