NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar > Class Template Reference

Deformable transform using a fluid representation. More...

Inheritance diagram for itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >:
Inheritance graph
[legend]
Collaboration diagram for itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >:
Collaboration graph
[legend]

Public Types

typedef FluidDeformableTransform Self
 
typedef DeformableTransform
< TFixedImage, TScalarType,
NDimensions,
TDeformationScalar > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::JacobianType JacobianType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::InputPointType InputPointType
 
typedef
Superclass::DeformationFieldPixelType 
DeformationFieldPixelType
 
typedef
Superclass::DeformationFieldType 
DeformationFieldType
 
typedef TFixedImage FixedImageType
 
typedef TFixedImage::ConstPointer FixedImagePointer
 
typedef
Superclass::VectorFieldImageType 
DeformableParameterType
 
typedef
DeformableParameterType::Pointer 
DeformableParameterPointerType
 
- Public Types inherited from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >
typedef DeformableTransform Self
 
typedef Transform< TScalarType,
NDimensions, NDimensions > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef Array
< ParametersValueType
DerivativeType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
 
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
 
typedef Vector
< TDeformationScalar,
NDimensions > 
VectorFieldPixelType
 
typedef Image
< VectorFieldPixelType,
NDimensions > 
VectorFieldImageType
 
typedef
VectorFieldImageType::Pointer 
VectorFieldImagePointer
 
typedef
VectorFieldImageType::SizeType 
VectorFieldSizeType
 
typedef ImageRegionIterator
< VectorFieldImageType
VectorFieldIteratorType
 
typedef
ImageRegionConstIterator
< VectorFieldImageType
VectorFieldConstIteratorType
 
typedef VectorFieldPixelType DeformationFieldPixelType
 
typedef VectorFieldImageType DeformationFieldType
 
typedef
DeformationFieldType::Pointer 
DeformationFieldPointer
 
typedef ImageRegion< NDimensions > DeformationFieldRegionType
 
typedef
DeformationFieldRegionType::IndexType 
DeformationFieldIndexType
 
typedef
DeformationFieldRegionType::SizeType 
DeformationFieldSizeType
 
typedef
DeformationFieldType::SpacingType 
DeformationFieldSpacingType
 
typedef
DeformationFieldType::DirectionType 
DeformationFieldDirectionType
 
typedef
DeformationFieldType::PointType 
DeformationFieldOriginType
 
typedef Image
< TDeformationScalar,
NDimensions > 
DeformationFieldComponentImageType
 
typedef TFixedImage FixedImageType
 
typedef
FixedImageType::ConstPointer 
FixedImagePointer
 
typedef Transform< TScalarType,
itkGetStaticConstMacro(SpaceDimension),
itkGetStaticConstMacro(SpaceDimension)> 
GlobalTransformType
 
typedef
GlobalTransformType::ConstPointer 
GlobalTransformPointer
 
typedef
DisplacementFieldJacobianDeterminantFilter
< DeformationFieldType,
TScalarType > 
JacobianDeterminantFilterType
 
typedef
JacobianDeterminantFilterType::Pointer 
JacobianDeterminantFilterPointer
 
typedef Superclass::JacobianType JacobianType
 

Public Member Functions

virtual const char * GetClassName () const
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void Initialize (FixedImagePointer fixedImage)
 
virtual void SetIdentity ()
 
virtual void SetParameters (const ParametersType &parameters)
 
virtual void SetDeformableParameters (DeformableParameterPointerType parameters)
 
virtual
DeformableParameterPointerType 
GetDeformableParameters ()
 
virtual void InterpolateNextGrid (FixedImagePointer image)
 
virtual bool IsRegridable () const
 
virtual void UpdateRegriddedDeformationParameters (DeformableParameterPointerType regriddedParameters, DeformableParameterPointerType currentPosition, double factor)
 
virtual bool IsIdentity ()
 
void InvertUsingGradientDescent (typename Self::Pointer invertedTransform, unsigned int maxIteration, double tol)
 
void ComputeSquareRoot (typename Self::Pointer sqrtTransform, unsigned int maxInverseIteration, unsigned int maxIteration, double tol)
 
- Public Member Functions inherited from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetGlobalTransform (const GlobalTransformType *_arg)
 
virtual const GlobalTransformTypeGetGlobalTransform ()
 
virtual void SetInverseSearchRadius (double _arg)
 
virtual double GetInverseSearchRadius ()
 
virtual const ParametersTypeGetParameters (void) const
 
virtual NumberOfParametersType GetNumberOfParameters (void) const
 
virtual void SetParametersFromField (const VectorFieldImagePointer &image, bool force=false)
 
virtual DeformationFieldTypeGetDeformationField () const
 
TScalarType ComputeMaxDeformation ()
 
TScalarType ComputeMinDeformation ()
 
TScalarType ComputeMaxJacobian ()
 
TScalarType ComputeMinJacobian ()
 
TScalarType GetSumLogJacobianDeterminant ()
 
virtual void WriteTransform (std::string filename)
 
virtual void WriteParameters (std::string filename)
 
void WriteJacobianImage (std::string filename)
 
void WriteMidasStrImage (std::string filename, int origin[NDimensions], typename TFixedImage::RegionType paddedDesiredRegion, const typename JacobianDeterminantFilterType::OutputImageType *jacobianImage)
 
void ReadMidasStrImage (std::string filename, int origin[NDimensions], typename TFixedImage::RegionType paddedDesiredRegion, typename JacobianDeterminantFilterType::OutputImageType *jacobianImage)
 
void WriteMidasVecImage (std::string filename, int origin[NDimensions], typename TFixedImage::RegionType paddedDesiredRegion)
 
void WriteVectorImage (std::string filename)
 
void Initialize (FixedImagePointer image)
 
virtual OutputPointType TransformPoint (const InputPointType &point) const
 
virtual OutputVectorType TransformVector (const InputVectorType &) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
 
virtual bool IsLinear () const
 
virtual const ParametersTypeGetFixedParameters (void) const
 
virtual void SetFixedParameters (const ParametersType &parameters)
 
bool GetInverse (Self *inverse) const
 
void ConcatenateAfterGivenTransform (Self *givenTransform)
 
virtual void UpdateRegriddedDeformationParameters (ParametersType &regriddedParameters, const ParametersType &currentPosition)
 
void SetUseForwardDifferenceJacobianCalculation ()
 
void InitialiseGlobalTransformation ()
 
JacobianDeterminantFilterType::OutputImageType * GetJacobianImage () const
 
void ExtractComponents ()
 
void InvertUsingIterativeFixedPoint (typename Self::Pointer invertedTransform, int maxIterations, int maxOuterIterations, double tol)
 
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const
 

Static Public Member Functions

static Pointer New ()
 
static
DeformableParameterPointerType 
DuplicateDeformableParameters (const DeformableParameterType *deformableParameters)
 

Protected Member Functions

 FluidDeformableTransform ()
 
virtual ~FluidDeformableTransform ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual
Superclass::JacobianDeterminantFilterType::OutputImageRegionType 
GetValidJacobianRegion () const
 
- Protected Member Functions inherited from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >
 DeformableTransform ()
 
virtual ~DeformableTransform ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
unsigned long int GetNumberOfParametersImpliedByImage (const VectorFieldImagePointer image)
 
void ResizeParametersArray (const VectorFieldImagePointer image)
 
void MarshallParametersToImage (VectorFieldImagePointer image)
 
void MarshallImageToParameters (const VectorFieldImagePointer image, ParametersType &parameters)
 

Additional Inherited Members

- Protected Attributes inherited from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >
DeformationFieldType::Pointer m_DeformationField
 
GlobalTransformPointer m_GlobalTransform
 
JacobianDeterminantFilterPointer m_JacobianFilter
 
double m_InverseSearchRadius
 
double m_InverseVoxelTolerance
 
double m_InverseIterationTolerance
 
double m_MaxNumberOfInverseIterations
 
DeformationFieldComponentImageType::Pointer m_DeformationFieldComponent [NDimensions]
 

Detailed Description

template<class TFixedImage, class TScalarType, unsigned int NDimensions, class TDeformationScalar>
class itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >

Deformable transform using a fluid representation.

Member Typedef Documentation

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef SmartPointer<const Self> itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::ConstPointer
template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef DeformableParameterType::Pointer itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformableParameterPointerType
template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef Superclass::VectorFieldImageType itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformableParameterType

Use our own deformable parameter type to save memory.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef Superclass::DeformationFieldPixelType itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldPixelType

Typedefs for the deformation field.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef Superclass::DeformationFieldType itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldType
template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef TFixedImage::ConstPointer itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::FixedImagePointer
template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef TFixedImage itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::FixedImageType

The deformation field is defined over the fixed image.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef Superclass::InputPointType itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::InputPointType
template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef Superclass::JacobianType itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::JacobianType

Standard Jacobian container.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef Superclass::OutputPointType itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::OutputPointType

Standard coordinate point type for this class.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef Superclass::ParametersType itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::ParametersType

Standard parameters container.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef SmartPointer<Self> itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::Pointer
template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef Superclass::ScalarType itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::ScalarType

Standard scalar type for this class.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef FluidDeformableTransform itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::Self

Standard class typedefs.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
typedef DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar > itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::Superclass

Constructor & Destructor Documentation

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::FluidDeformableTransform ( )
protected
template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::~FluidDeformableTransform ( )
protectedvirtual

Member Function Documentation

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
void itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::ComputeSquareRoot ( typename Self::Pointer  sqrtTransform,
unsigned int  maxInverseIteration,
unsigned int  maxIteration,
double  tol 
)

Compute the square root of the deformation.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
static DeformableParameterPointerType itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DuplicateDeformableParameters ( const DeformableParameterType deformableParameters)
static

Return a copy of the deformable parameters.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual const char* itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual DeformableParameterPointerType itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GetDeformableParameters ( )
inlinevirtual

Return the current deformable parameters, which is just the deformation field. Nice and easy!

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual Superclass::JacobianDeterminantFilterType::OutputImageRegionType itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GetValidJacobianRegion ( ) const
inlineprotectedvirtual

To get the valid Jacobian region - because for fluid Diriac boundary condition - the deformation around the edge is 0.

Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual void itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::Initialize ( FixedImagePointer  fixedImage)
virtual

Convenience method to set up internal images. Sets the internal deformation field to the same size as fixed image. Sets the parameters array to the right size, and then calls SetIdentity().

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual void itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::InterpolateNextGrid ( FixedImagePointer  image)
virtual

Interpolate the deformation fluid when moving to a bigger image.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
void itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::InvertUsingGradientDescent ( typename Self::Pointer  invertedTransform,
unsigned int  maxIteration,
double  tol 
)

Invert using gradient descent.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual bool itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::IsIdentity ( )
virtual

Returns true if we are currently equal to Identity transform.

Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual bool itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::IsRegridable ( ) const
inlinevirtual

Return true if the deformable is regriddable. This then requires the implementation the Regrid function.

Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
NDimensions   
)

Get the number of dimensions.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
static Pointer itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::New ( )
static

New macro for creation of through the object factory.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
void itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected

Print contents of an FluidDeformableTransform.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual void itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::SetDeformableParameters ( DeformableParameterPointerType  parameters)
virtual

This method sets the parameters of the transform. For a fluid transformation, the parameters are displacement vectors for each voxel.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual void itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::SetIdentity ( )
virtual

Set the deformation field to Identity. Doesn't affect the Global transform. Doesn't resize anything either.

Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual void itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::SetParameters ( const ParametersType parameters)
inlinevirtual

This method sets the parameters of the transform. For a fluid transformation, the parameters are displacement vectors for each voxel.

Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.

template<class TFixedImage , class TScalarType , unsigned int NDimensions, class TDeformationScalar >
virtual void itk::FluidDeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::UpdateRegriddedDeformationParameters ( DeformableParameterPointerType  regriddedParameters,
DeformableParameterPointerType  currentPosition,
double  factor 
)
virtual

Regrid and compose the new regridded deformation Note that this function destroys the content of currentPosition.


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