SimpleITK  1.3.0.dev466
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 (unsigned int dimensions)
 
 DisplacementFieldTransform (Image &)
 Consume an image to construct a displacement field transform. More...
 
 DisplacementFieldTransform (const DisplacementFieldTransform &)
 
 DisplacementFieldTransform (const Transform &)
 
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)
 
SelfFlattenTransform ()
 Remove nested composite transforms. More...
 
unsigned int GetDimension (void) const
 
Transform GetInverse () const
 Return a new inverse transform of the same type as this. More...
 
unsigned int GetNumberOfFixedParameters (void) const
 
unsigned int GetNumberOfParameters (void) const
 
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 (void)
 By default a 3-d identity transform is constructed. 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 (Image &displacement, TransformEnum type=sitkDisplacementField)
 Use an image to construct a transform. More...
 
std::vector< double > TransformPoint (const std::vector< double > &point) const
 
std::vector< double > TransformVector (const std::vector< double > &vector, 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

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

Definition at line 40 of file sitkDisplacementFieldTransform.h.

Definition at line 41 of file sitkDisplacementFieldTransform.h.

Constructor & Destructor Documentation

virtual itk::simple::DisplacementFieldTransform::~DisplacementFieldTransform ( )
virtual
itk::simple::DisplacementFieldTransform::DisplacementFieldTransform ( unsigned int  dimensions)
explicit
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.

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

Member Function Documentation

static PimpleTransformBase* itk::simple::DisplacementFieldTransform::CreateDisplacementFieldPimpleTransform ( unsigned int  dimension)
staticprivate
Image itk::simple::DisplacementFieldTransform::GetDisplacementField ( ) const
Todo:
The returned image should not directly modify the internal displacement field.
Image itk::simple::DisplacementFieldTransform::GetInverseDisplacementField ( ) const
Todo:
The returned image is should not directly modify the internal displacement field.
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.

template<typename TDisplacementFieldTransform >
static Image itk::simple::DisplacementFieldTransform::InternalGetDisplacementField ( const TDisplacementFieldTransform *  itkDisplacementTx)
staticprivate
template<typename TDisplacementFieldTransform >
static Image itk::simple::DisplacementFieldTransform::InternalGetInverseDisplacementField ( const TDisplacementFieldTransform *  itkDisplacementTx)
staticprivate
void itk::simple::DisplacementFieldTransform::InternalInitialization ( itk::TransformBase transform)
private
template<typename TransformType >
void itk::simple::DisplacementFieldTransform::InternalInitialization ( TransformType *  transform)
private
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
template<typename TDisplacementFieldTransform >
void itk::simple::DisplacementFieldTransform::InternalSetSmoothingGaussianOnUpdate ( TDisplacementFieldTransform *  itkDisplacement,
double  varianceForUpdateField,
double  varianceForTotalField 
)
private
template<typename TDisplacementFieldTransform >
void itk::simple::DisplacementFieldTransform::InternalSetSmoothingOff ( TDisplacementFieldTransform *  itkDisplacement)
private
DisplacementFieldTransform& itk::simple::DisplacementFieldTransform::operator= ( const DisplacementFieldTransform )
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.

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

Set the interpolator used between the field voxels.

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

fixed parameter

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

Reimplemented from itk::simple::Transform.

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 
)
Self& itk::simple::DisplacementFieldTransform::SetSmoothingGaussianOnUpdate ( double  varianceForUpdateField = 1.75,
double  varianceForTotalField = 0.5 
)
Self& itk::simple::DisplacementFieldTransform::SetSmoothingOff ( )

Member Data Documentation

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

Definition at line 159 of file sitkDisplacementFieldTransform.h.

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

Definition at line 165 of file sitkDisplacementFieldTransform.h.

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

Definition at line 162 of file sitkDisplacementFieldTransform.h.

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

Definition at line 158 of file sitkDisplacementFieldTransform.h.

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

Definition at line 164 of file sitkDisplacementFieldTransform.h.

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

Definition at line 161 of file sitkDisplacementFieldTransform.h.

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.

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

Definition at line 168 of file sitkDisplacementFieldTransform.h.

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: