SimpleITK  1.1.0
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
itk::simple::DisplacementFieldTransform Class Reference

A dense deformable transform over a bounded spatial domain for 2D or 3D coordinates space. More...

#include <sitkDisplacementFieldTransform.h>

+ Inheritance diagram for itk::simple::DisplacementFieldTransform:
+ Collaboration diagram for itk::simple::DisplacementFieldTransform:

Classes

struct  MyVisitor
 

Public Types

typedef DisplacementFieldTransform Self
 
typedef Transform Superclass
 
- Public Types inherited from itk::simple::Transform
typedef Transform Self
 

Public Member Functions

 DisplacementFieldTransform (const DisplacementFieldTransform &)
 
 DisplacementFieldTransform (const Transform &)
 
 DisplacementFieldTransform (Image &)
 Consume an image to construct a displacement field transform. More...
 
 DisplacementFieldTransform (unsigned int dimensions)
 
Image GetDisplacementField () const
 
Image GetInverseDisplacementField () const
 
std::string GetName () const
 
DisplacementFieldTransformoperator= (const DisplacementFieldTransform &)
 
SelfSetDisplacementField (Image &)
 Consume an image, and set the displacement field. More...
 
SelfSetInterpolator (InterpolatorEnum interp)
 
SelfSetInverseDisplacementField (Image &)
 
SelfSetSmoothingBSplineOnUpdate (const std::vector< unsigned int > &numberOfControlPointsForUpdateField=std::vector< unsigned int >(3, 4), const std::vector< unsigned int > &numberOfControlPointsForTotalField=std::vector< unsigned int >(3, 4), bool enforceStationaryBoundary=true, unsigned int order=3)
 
SelfSetSmoothingGaussianOnUpdate (double varianceForUpdateField=1.75, double varianceForTotalField=0.5)
 
SelfSetSmoothingOff ()
 
virtual ~DisplacementFieldTransform ()
 
- Public Member Functions inherited from itk::simple::Transform
SelfAddTransform (Transform t)
 
unsigned int GetDimension (void) const
 
Transform GetInverse () const
 Return a new inverse transform of the same type as this. More...
 
virtual bool IsLinear () const
 
void MakeUnique (void)
 Performs actually coping if needed to make object unique. More...
 
virtual void SetIdentity ()
 
virtual bool SetInverse ()
 Try to change the current transform to it's inverse. More...
 
std::string ToString (void) const
 
 Transform (Image &displacement, TransformEnum type=sitkDisplacementField)
 Use an image to construct a transform. More...
 
template<unsigned int NDimension>
 Transform (itk::CompositeTransform< double, NDimension > *compositeTransform)
 Construct a SimpleITK Transform from a pointer to an ITK composite transform. More...
 
 Transform (itk::TransformBase *transform)
 
 Transform (unsigned int dimensions, TransformEnum type)
 Construct a specific transformation. More...
 
 Transform (void)
 By default a 3-d identity transform is constructed. More...
 
std::vector< double > TransformPoint (const std::vector< double > &point) const
 
void WriteTransform (const std::string &filename) const
 
virtual ~Transform (void)
 
Transformoperator= (const Transform &)
 Copy constructor and assignment operator. More...
 
 Transform (const Transform &)
 Copy constructor and assignment operator. More...
 
itk::TransformBaseGetITKBase (void)
 
const itk::TransformBaseGetITKBase (void) const
 
void SetParameters (const std::vector< double > &parameters)
 
std::vector< double > GetParameters (void) const
 
void SetFixedParameters (const std::vector< double > &parameters)
 
std::vector< double > GetFixedParameters (void) const
 

Protected Member Functions

virtual void SetPimpleTransform (PimpleTransformBase *pimpleTransform)
 
- Protected Member Functions inherited from itk::simple::Transform
 Transform (PimpleTransformBase *pimpleTransform)
 

Private Member Functions

SelfAddTransform (Transform t)
 
void InternalInitialization (itk::TransformBase *transform)
 
template<typename TransformType >
void InternalInitialization (TransformType *transform)
 
template<typename TDisplacementFieldTransform >
void InternalSetSmoothingBSplineOnUpdate (TDisplacementFieldTransform *itkDisplacement, const std::vector< unsigned int > &numberOfControlPointsForUpdateField, const std::vector< unsigned int > &numberOfControlPointsForTotalField, bool enforceStationaryBoundary, unsigned int order)
 
template<typename TDisplacementFieldTransform >
void InternalSetSmoothingGaussianOnUpdate (TDisplacementFieldTransform *itkDisplacement, double varianceForUpdateField, double varianceForTotalField)
 
template<typename TDisplacementFieldTransform >
void InternalSetSmoothingOff (TDisplacementFieldTransform *itkDisplacement)
 

Static Private Member Functions

static PimpleTransformBase * CreateDisplacementFieldPimpleTransform (unsigned int dimension)
 
template<typename TDisplacementFieldTransform >
static Image InternalGetDisplacementField (const TDisplacementFieldTransform *itkDisplacementTx)
 
template<typename TDisplacementFieldTransform >
static Image InternalGetInverseDisplacementField (const TDisplacementFieldTransform *itkDisplacementTx)
 

Private Attributes

nsstd::function< Image()> m_pfGetDisplacementField
 
nsstd::function< InterpolatorEnum()> m_pfGetInterpolator
 
nsstd::function< Image()> m_pfGetInverseDisplacementField
 
nsstd::function< void(Image &)> m_pfSetDisplacementField
 
nsstd::function< void(InterpolatorEnum &)> m_pfSetInterpolator
 
nsstd::function< void(Image &)> m_pfSetInverseDisplacementField
 
nsstd::function< void(const std::vector< unsigned int > &, const std::vector< unsigned int > &, bool, unsigned int)> m_pfSetSmoothingBSplineOnUpdate
 
nsstd::function< void(double, double)> m_pfSetSmoothingGaussianOnUpdate
 
nsstd::function< void()> m_pfSetSmoothingOff
 

Detailed Description

A dense deformable transform over a bounded spatial domain for 2D or 3D coordinates space.

See also
itk::DisplacementFieldTransform
Examples
DemonsRegistration1/DemonsRegistration1.cxx, DemonsRegistration2/DemonsRegistration2.cxx, and ImageRegistrationMethodDisplacement1/ImageRegistrationMethodDisplacement1.cxx.

Definition at line 36 of file sitkDisplacementFieldTransform.h.

Member Typedef Documentation

◆ Self

Definition at line 40 of file sitkDisplacementFieldTransform.h.

◆ Superclass

Definition at line 41 of file sitkDisplacementFieldTransform.h.

Constructor & Destructor Documentation

◆ ~DisplacementFieldTransform()

virtual itk::simple::DisplacementFieldTransform::~DisplacementFieldTransform ( )
virtual

◆ DisplacementFieldTransform() [1/4]

itk::simple::DisplacementFieldTransform::DisplacementFieldTransform ( unsigned int  dimensions)
explicit

◆ DisplacementFieldTransform() [2/4]

itk::simple::DisplacementFieldTransform::DisplacementFieldTransform ( Image )
explicit

Consume an image to construct a displacement field transform.

Warning
The input displacement image is transferred to the constructed transform object. The input image is modified to be a default constructed Image object.

Image must be of sitkVectorFloat64 pixel type with the number of components equal to the image dimension.

◆ DisplacementFieldTransform() [3/4]

itk::simple::DisplacementFieldTransform::DisplacementFieldTransform ( const DisplacementFieldTransform )

◆ DisplacementFieldTransform() [4/4]

itk::simple::DisplacementFieldTransform::DisplacementFieldTransform ( const Transform )
explicit

Member Function Documentation

◆ AddTransform()

Self& itk::simple::Transform::AddTransform
private

◆ CreateDisplacementFieldPimpleTransform()

static PimpleTransformBase* itk::simple::DisplacementFieldTransform::CreateDisplacementFieldPimpleTransform ( unsigned int  dimension)
staticprivate

◆ GetDisplacementField()

Image itk::simple::DisplacementFieldTransform::GetDisplacementField ( ) const
Todo:
The returned image should not directly modify the internal displacement field.

◆ GetInverseDisplacementField()

Image itk::simple::DisplacementFieldTransform::GetInverseDisplacementField ( ) const
Todo:
The returned image is should not directly modify the internal displacement field.

◆ GetName()

std::string itk::simple::DisplacementFieldTransform::GetName ( ) const
inlinevirtual

Name of this class

Reimplemented from itk::simple::Transform.

Definition at line 66 of file sitkDisplacementFieldTransform.h.

◆ InternalGetDisplacementField()

template<typename TDisplacementFieldTransform >
static Image itk::simple::DisplacementFieldTransform::InternalGetDisplacementField ( const TDisplacementFieldTransform *  itkDisplacementTx)
staticprivate

◆ InternalGetInverseDisplacementField()

template<typename TDisplacementFieldTransform >
static Image itk::simple::DisplacementFieldTransform::InternalGetInverseDisplacementField ( const TDisplacementFieldTransform *  itkDisplacementTx)
staticprivate

◆ InternalInitialization() [1/2]

void itk::simple::DisplacementFieldTransform::InternalInitialization ( itk::TransformBase transform)
private

◆ InternalInitialization() [2/2]

template<typename TransformType >
void itk::simple::DisplacementFieldTransform::InternalInitialization ( TransformType *  transform)
private

◆ InternalSetSmoothingBSplineOnUpdate()

template<typename TDisplacementFieldTransform >
void itk::simple::DisplacementFieldTransform::InternalSetSmoothingBSplineOnUpdate ( TDisplacementFieldTransform *  itkDisplacement,
const std::vector< unsigned int > &  numberOfControlPointsForUpdateField,
const std::vector< unsigned int > &  numberOfControlPointsForTotalField,
bool  enforceStationaryBoundary,
unsigned int  order 
)
private

◆ InternalSetSmoothingGaussianOnUpdate()

template<typename TDisplacementFieldTransform >
void itk::simple::DisplacementFieldTransform::InternalSetSmoothingGaussianOnUpdate ( TDisplacementFieldTransform *  itkDisplacement,
double  varianceForUpdateField,
double  varianceForTotalField 
)
private

◆ InternalSetSmoothingOff()

template<typename TDisplacementFieldTransform >
void itk::simple::DisplacementFieldTransform::InternalSetSmoothingOff ( TDisplacementFieldTransform *  itkDisplacement)
private

◆ operator=()

DisplacementFieldTransform& itk::simple::DisplacementFieldTransform::operator= ( const DisplacementFieldTransform )

◆ SetDisplacementField()

Self& itk::simple::DisplacementFieldTransform::SetDisplacementField ( Image )

Consume an image, and set the displacement field.

parameters

Warning
The ownership of the input displacement image is transferred to the constructed transform object. The input image is modified to be a default constructed Image object.

Image must be of sitkVectorFloat64 pixel type with the number of components equal to the image dimension.

◆ SetInterpolator()

Self& itk::simple::DisplacementFieldTransform::SetInterpolator ( InterpolatorEnum  interp)

Set the interpolator used between the field voxels.

◆ SetInverseDisplacementField()

Self& itk::simple::DisplacementFieldTransform::SetInverseDisplacementField ( Image )

fixed parameter

◆ SetPimpleTransform()

virtual void itk::simple::DisplacementFieldTransform::SetPimpleTransform ( PimpleTransformBase *  pimpleTransform)
protectedvirtual

Reimplemented from itk::simple::Transform.

◆ SetSmoothingBSplineOnUpdate()

Self& itk::simple::DisplacementFieldTransform::SetSmoothingBSplineOnUpdate ( const std::vector< unsigned int > &  numberOfControlPointsForUpdateField = std::vector< unsigned int >(3, 4),
const std::vector< unsigned int > &  numberOfControlPointsForTotalField = std::vector< unsigned int >(3, 4),
bool  enforceStationaryBoundary = true,
unsigned int  order = 3 
)

◆ SetSmoothingGaussianOnUpdate()

Self& itk::simple::DisplacementFieldTransform::SetSmoothingGaussianOnUpdate ( double  varianceForUpdateField = 1.75,
double  varianceForTotalField = 0.5 
)

◆ SetSmoothingOff()

Self& itk::simple::DisplacementFieldTransform::SetSmoothingOff ( )

Member Data Documentation

◆ m_pfGetDisplacementField

nsstd::function<Image ()> itk::simple::DisplacementFieldTransform::m_pfGetDisplacementField
private

Definition at line 159 of file sitkDisplacementFieldTransform.h.

◆ m_pfGetInterpolator

nsstd::function<InterpolatorEnum ()> itk::simple::DisplacementFieldTransform::m_pfGetInterpolator
private

Definition at line 165 of file sitkDisplacementFieldTransform.h.

◆ m_pfGetInverseDisplacementField

nsstd::function<Image ()> itk::simple::DisplacementFieldTransform::m_pfGetInverseDisplacementField
private

Definition at line 162 of file sitkDisplacementFieldTransform.h.

◆ m_pfSetDisplacementField

nsstd::function<void (Image &)> itk::simple::DisplacementFieldTransform::m_pfSetDisplacementField
private

Definition at line 158 of file sitkDisplacementFieldTransform.h.

◆ m_pfSetInterpolator

nsstd::function<void (InterpolatorEnum &)> itk::simple::DisplacementFieldTransform::m_pfSetInterpolator
private

Definition at line 164 of file sitkDisplacementFieldTransform.h.

◆ m_pfSetInverseDisplacementField

nsstd::function<void (Image &)> itk::simple::DisplacementFieldTransform::m_pfSetInverseDisplacementField
private

Definition at line 161 of file sitkDisplacementFieldTransform.h.

◆ m_pfSetSmoothingBSplineOnUpdate

nsstd::function<void (const std::vector<unsigned int> &,const std::vector<unsigned int>&, bool, unsigned int)> itk::simple::DisplacementFieldTransform::m_pfSetSmoothingBSplineOnUpdate
private

Definition at line 169 of file sitkDisplacementFieldTransform.h.

◆ m_pfSetSmoothingGaussianOnUpdate

nsstd::function<void (double, double)> itk::simple::DisplacementFieldTransform::m_pfSetSmoothingGaussianOnUpdate
private

Definition at line 168 of file sitkDisplacementFieldTransform.h.

◆ m_pfSetSmoothingOff

nsstd::function<void ()> itk::simple::DisplacementFieldTransform::m_pfSetSmoothingOff
private

Definition at line 167 of file sitkDisplacementFieldTransform.h.


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