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

#include <itkPDEDeformableRegistrationFunction.h>

Detailed Description

template<typename TFixedImage, typename TMovingImage, typename TDisplacementField>
class itk::PDEDeformableRegistrationFunction< 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 itkPDEDeformableRegistrationFunction.h.

+ Inheritance diagram for itk::PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >:
+ Collaboration diagram for itk::PDEDeformableRegistrationFunction< 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 = PDEDeformableRegistrationFunction
 
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::FiniteDifferenceFunction< TDisplacementField >
virtual TimeStepType ComputeGlobalTimeStep (void *GlobalData) const=0
 
const NeighborhoodScalesType ComputeNeighborhoodScales () const
 
virtual PixelType ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0))=0
 
virtual void * GetGlobalDataPointer () const=0
 
const char * GetNameOfClass () const override
 
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

 PDEDeformableRegistrationFunction ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~PDEDeformableRegistrationFunction () 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::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::FiniteDifferenceFunction< TDisplacementField >
static constexpr unsigned int ImageDimension
 

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 50 of file itkPDEDeformableRegistrationFunction.h.

◆ DisplacementFieldType

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

Deformation field type.

Definition at line 64 of file itkPDEDeformableRegistrationFunction.h.

◆ DisplacementFieldTypePointer

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

Definition at line 65 of file itkPDEDeformableRegistrationFunction.h.

◆ FixedImagePointer

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

Definition at line 61 of file itkPDEDeformableRegistrationFunction.h.

◆ FixedImageType

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

FixedImage image type.

Definition at line 60 of file itkPDEDeformableRegistrationFunction.h.

◆ MovingImagePointer

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

Definition at line 57 of file itkPDEDeformableRegistrationFunction.h.

◆ MovingImageType

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

MovingImage image type.

Definition at line 56 of file itkPDEDeformableRegistrationFunction.h.

◆ Pointer

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

Definition at line 49 of file itkPDEDeformableRegistrationFunction.h.

◆ Self

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

Standard class type aliases.

Definition at line 47 of file itkPDEDeformableRegistrationFunction.h.

◆ Superclass

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
using itk::PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::Superclass = FiniteDifferenceFunction<TDisplacementField>

Definition at line 48 of file itkPDEDeformableRegistrationFunction.h.

Constructor & Destructor Documentation

◆ PDEDeformableRegistrationFunction()

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

Definition at line 142 of file itkPDEDeformableRegistrationFunction.h.

◆ ~PDEDeformableRegistrationFunction()

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

Member Function Documentation

◆ GetDisplacementField()

template<typename TFixedImage , typename TMovingImage , typename TDisplacementField >
DisplacementFieldType* itk::PDEDeformableRegistrationFunction< 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 itkPDEDeformableRegistrationFunction.h.

◆ GetEnergy()

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

Definition at line 116 of file itkPDEDeformableRegistrationFunction.h.

◆ GetFixedImage()

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

Get the fixed image.

Definition at line 90 of file itkPDEDeformableRegistrationFunction.h.

◆ GetGradientStep()

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

Definition at line 126 of file itkPDEDeformableRegistrationFunction.h.

◆ GetMovingImage()

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

Get the moving image.

Definition at line 76 of file itkPDEDeformableRegistrationFunction.h.

◆ GetNameOfClass()

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

◆ GetNormalizeGradient()

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

Definition at line 136 of file itkPDEDeformableRegistrationFunction.h.

◆ PrintSelf()

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

◆ SetDisplacementField()

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

Set the deformation field image.

Definition at line 97 of file itkPDEDeformableRegistrationFunction.h.

◆ SetEnergy()

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

Definition at line 111 of file itkPDEDeformableRegistrationFunction.h.

References itk::Math::e.

◆ SetFixedImage()

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

Set the fixed image.

Definition at line 83 of file itkPDEDeformableRegistrationFunction.h.

◆ SetGradientStep()

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

Definition at line 121 of file itkPDEDeformableRegistrationFunction.h.

References itk::Math::e.

◆ SetMovingImage()

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

Set the moving image.

Definition at line 69 of file itkPDEDeformableRegistrationFunction.h.

◆ SetNormalizeGradient()

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

Definition at line 131 of file itkPDEDeformableRegistrationFunction.h.

References itk::Math::e.

Member Data Documentation

◆ m_DisplacementField

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

The deformation field.

Definition at line 171 of file itkPDEDeformableRegistrationFunction.h.

◆ m_Energy

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

Definition at line 173 of file itkPDEDeformableRegistrationFunction.h.

◆ m_FixedImage

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

The fixed image.

Definition at line 168 of file itkPDEDeformableRegistrationFunction.h.

◆ m_GradientStep

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

Definition at line 177 of file itkPDEDeformableRegistrationFunction.h.

◆ m_MovingImage

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

The moving image.

Definition at line 165 of file itkPDEDeformableRegistrationFunction.h.

◆ m_NormalizeGradient

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

Definition at line 175 of file itkPDEDeformableRegistrationFunction.h.


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