ITK  4.6.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions > Class Template Reference

#include <itkBSplineExponentialDiffeomorphicTransform.h>

+ Inheritance diagram for itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >:
+ Collaboration diagram for itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >:

Detailed Description

template<typename TScalar, unsigned int NDimensions>
class itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >

Exponential transform using B-splines as the smoothing kernel.

Exponential transform inspired by the work of J. Ashburner (see reference below). Assuming a constant velocity field, the transform takes as input the update field at time point t = 1, $u$ and smooths it using a B-spline smoothing (i.e. fitting) operation, $S_{update}$ defined by SplineOrder and NumberOfControlPointsForTheUpdateField. We add that the current estimate of the velocity field and then perform a second smoothing step such that the new velocity field is

\begin{eqnarray*} v_{new} = S_{velocity}( v_{old} + S_{update}( u ) ). \end{eqnarray*}

We then exponentiate $v_{new}$ using the class ExponentialDisplacementImageFilter to yield both the forward and inverse displacement fields.

Author
Nick Tustison
Brian Avants

Definition at line 56 of file itkBSplineExponentialDiffeomorphicTransform.h.

Public Types

typedef
BSplineFilterType::ArrayType 
ArrayType
 
typedef ArrayType::ValueType ArrayValueType
 
typedef
DisplacementFieldToBSplineImageFilter
< ConstantVelocityFieldType,
ConstantVelocityFieldType
BSplineFilterType
 
typedef
Superclass::ConstantVelocityFieldPointer 
ConstantVelocityFieldPointer
 
typedef
Superclass::ConstantVelocityFieldType 
ConstantVelocityFieldType
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef DerivativeType::ValueType DerivativeValueType
 
typedef
Superclass::DisplacementFieldPointer 
DisplacementFieldPointer
 
typedef
Superclass::DisplacementFieldType 
DisplacementFieldType
 
typedef
DisplacementFieldType::PixelType 
DisplacementVectorType
 
typedef SmartPointer< SelfPointer
 
typedef PointSet
< ConstantVelocityFieldType,
Dimension
PointSetType
 
typedef Superclass::ScalarType ScalarType
 
typedef
BSplineExponentialDiffeomorphicTransform 
Self
 
typedef unsigned int SplineOrderType
 
typedef
ConstantVelocityFieldTransform
< TScalar, NDimensions > 
Superclass
 
typedef
BSplineFilterType::WeightsContainerType 
WeightsContainerType
 
- Public Types inherited from itk::ConstantVelocityFieldTransform< TScalar, NDimensions >
typedef
ConstantVelocityFieldInterpolatorType::Pointer 
ConstantVelocityFieldInterpolatorPointer
 
typedef
VectorInterpolateImageFunction
< ConstantVelocityFieldType,
ScalarType
ConstantVelocityFieldInterpolatorType
 
typedef
ConstantVelocityFieldType::Pointer 
ConstantVelocityFieldPointer
 
typedef Image
< OutputVectorType,
ConstantVelocityFieldDimension
ConstantVelocityFieldType
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef
ConstantVelocityFieldType::DirectionType 
DirectionType
 
typedef
DisplacementFieldType::Pointer 
DisplacementFieldPointer
 
typedef
Superclass::DisplacementFieldType 
DisplacementFieldType
 
typedef
ConstantVelocityFieldType::IndexType 
IndexType
 
typedef Superclass::InputPointType InputPointType
 
typedef
Superclass::InputVectorPixelType 
InputVectorPixelType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::InverseTransformBasePointer 
InverseTransformBasePointer
 
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
 
typedef
ImageVectorOptimizerParametersHelper
< ScalarType, Dimension,
ConstantVelocityFieldDimension
OptimizerParametersHelperType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef
Superclass::OutputVectorPixelType 
OutputVectorPixelType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef
ConstantVelocityFieldType::PixelType 
PixelType
 
typedef SmartPointer< SelfPointer
 
typedef
ConstantVelocityFieldType::PointType 
PointType
 
typedef
ConstantVelocityFieldType::RegionType 
RegionType
 
typedef Superclass::ScalarType ScalarType
 
typedef
ConstantVelocityFieldTransform 
Self
 
typedef
ConstantVelocityFieldType::SizeType 
SizeType
 
typedef
ConstantVelocityFieldType::SpacingType 
SpacingType
 
typedef
DisplacementFieldTransform
< TScalar, NDimensions > 
Superclass
 
typedef
Superclass::TransformCategoryType 
TransformCategoryType
 
typedef ConstantVelocityFieldType VelocityFieldType
 
- Public Types inherited from itk::DisplacementFieldTransform< TScalar, NDimensions >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef
DisplacementFieldType::DirectionType 
DirectionType
 
typedef
DisplacementFieldType::ConstPointer 
DisplacementFieldConstPointer
 
typedef
DisplacementFieldType::Pointer 
DisplacementFieldPointer
 
typedef Image
< OutputVectorType, Dimension
DisplacementFieldType
 
typedef
DisplacementFieldType::IndexType 
IndexType
 
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
 
typedef
Superclass::InputDiffusionTensor3DType 
InputDiffusionTensor3DType
 
typedef Superclass::InputPointType InputPointType
 
typedef CovariantVector
< ScalarType,
InputDiffusionTensor3DType::Dimension > 
InputTensorEigenVectorType
 
typedef
Superclass::InputVectorPixelType 
InputVectorPixelType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
 
typedef
VectorInterpolateImageFunction
< DisplacementFieldType,
ScalarType
InterpolatorType
 
typedef
Superclass::InverseTransformBasePointer 
InverseTransformBasePointer
 
typedef Superclass::JacobianType JacobianType
 
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
 
typedef
ImageVectorOptimizerParametersHelper
< ScalarType,
OutputVectorType::Dimension,
Dimension
OptimizerParametersHelperType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef
Superclass::OutputDiffusionTensor3DType 
OutputDiffusionTensor3DType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef CovariantVector
< ScalarType,
OutputDiffusionTensor3DType::Dimension > 
OutputTensorEigenVectorType
 
typedef
Superclass::OutputVectorPixelType 
OutputVectorPixelType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef
DisplacementFieldType::PixelType 
PixelType
 
typedef SmartPointer< SelfPointer
 
typedef
DisplacementFieldType::PointType 
PointType
 
typedef
DisplacementFieldType::RegionType 
RegionType
 
typedef Superclass::ScalarType ScalarType
 
typedef DisplacementFieldTransform Self
 
typedef
DisplacementFieldType::SizeType 
SizeType
 
typedef
DisplacementFieldType::SpacingType 
SpacingType
 
typedef Transform< TScalar,
NDimensions, NDimensions > 
Superclass
 
typedef
Superclass::TransformCategoryType 
TransformCategoryType
 
- Public Types inherited from itk::Transform< TScalar, NDimensions, NDimensions >
typedef SmartPointer< const SelfConstPointer
 
typedef Array
< ParametersValueType
DerivativeType
 
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
DirectionChangeMatrix
 
typedef CovariantVector
< TScalar, NInputDimensions > 
InputCovariantVectorType
 
typedef DiffusionTensor3D
< TScalar > 
InputDiffusionTensor3DType
 
typedef Matrix< double,
itkGetStaticConstMacro(InputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
InputDirectionMatrix
 
typedef Point< TScalar,
NInputDimensions > 
InputPointType
 
typedef
SymmetricSecondRankTensor
< TScalar, NInputDimensions > 
InputSymmetricSecondRankTensorType
 
typedef VariableLengthVector
< TScalar > 
InputVectorPixelType
 
typedef Vector< TScalar,
NInputDimensions > 
InputVectorType
 
typedef vnl_vector_fixed
< TScalar, NInputDimensions > 
InputVnlVectorType
 
typedef
InverseTransformBaseType::Pointer 
InverseTransformBasePointer
 
typedef Transform< TScalar,
NOutputDimensions,
NInputDimensions > 
InverseTransformBaseType
 
typedef Array2D
< ParametersValueType
JacobianType
 
typedef Matrix< TScalar,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(InputSpaceDimension)> 
MatrixType
 
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
 
typedef CovariantVector
< TScalar, NOutputDimensions > 
OutputCovariantVectorType
 
typedef DiffusionTensor3D
< TScalar > 
OutputDiffusionTensor3DType
 
typedef Matrix< double,
itkGetStaticConstMacro(OutputSpaceDimension),
itkGetStaticConstMacro(OutputSpaceDimension)> 
OutputDirectionMatrix
 
typedef Point< TScalar,
NOutputDimensions > 
OutputPointType
 
typedef
SymmetricSecondRankTensor
< TScalar, NOutputDimensions > 
OutputSymmetricSecondRankTensorType
 
typedef VariableLengthVector
< TScalar > 
OutputVectorPixelType
 
typedef Vector< TScalar,
NOutputDimensions > 
OutputVectorType
 
typedef vnl_vector_fixed
< TScalar, NOutputDimensions > 
OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef TScalar ScalarType
 
typedef Transform Self
 
typedef TransformBaseTemplate
< TScalar > 
Superclass
 
typedef
Superclass::TransformCategoryType 
TransformCategoryType
 
- Public Types inherited from itk::TransformBaseTemplate< TScalar >
typedef SmartPointer< const SelfConstPointer
 
typedef IdentifierType NumberOfParametersType
 
typedef OptimizerParameters
< ParametersValueType
ParametersType
 
typedef TScalar ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef TransformBaseTemplate Self
 
typedef Object Superclass
 
enum  TransformCategoryType {
  UnknownTransformCategory =0,
  Linear =1,
  BSpline =2,
  Spline =3,
  DisplacementField =4,
  VelocityField =5
}
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual
ConstantVelocityFieldPointer 
BSplineSmoothConstantVelocityField (const ConstantVelocityFieldType *, const ArrayType &)
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
void SetMeshSizeForTheConstantVelocityField (const ArrayType &)
 
void SetMeshSizeForTheUpdateField (const ArrayType &)
 
virtual void UpdateTransformParameters (const DerivativeType &update, ScalarType factor=1.0)
 
virtual void SetSplineOrder (SplineOrderType _arg)
 
virtual SplineOrderType GetSplineOrder () const
 
virtual void SetNumberOfControlPointsForTheConstantVelocityField (ArrayType _arg)
 
virtual ArrayType GetNumberOfControlPointsForTheConstantVelocityField () const
 
virtual void SetNumberOfControlPointsForTheUpdateField (ArrayType _arg)
 
virtual ArrayType GetNumberOfControlPointsForTheUpdateField () const
 
- Public Member Functions inherited from itk::ConstantVelocityFieldTransform< TScalar, NDimensions >
virtual void CalculateNumberOfIntegrationStepsAutomaticallyOff ()
 
virtual void CalculateNumberOfIntegrationStepsAutomaticallyOn ()
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual bool GetCalculateNumberOfIntegrationStepsAutomatically () const
 
virtual const ModifiedTimeTypeGetConstantVelocityFieldSetTime () const
 
bool GetInverse (Self *inverse) const
 
virtual InverseTransformBasePointer GetInverseTransform () const
 
virtual ScalarType GetLowerTimeBound () const
 
virtual unsigned int GetNumberOfIntegrationSteps () const
 
virtual ScalarType GetUpperTimeBound () const
 
virtual void IntegrateVelocityField ()
 
virtual void SetCalculateNumberOfIntegrationStepsAutomatically (bool _arg)
 
virtual void SetFixedParameters (const ParametersType &)
 
virtual void SetLowerTimeBound (ScalarType _arg)
 
virtual void SetNumberOfIntegrationSteps (unsigned int _arg)
 
virtual void SetUpperTimeBound (ScalarType _arg)
 
virtual void SetConstantVelocityField (ConstantVelocityFieldType *)
 
virtual ConstantVelocityFieldTypeGetModifiableConstantVelocityField ()
 
virtual const
ConstantVelocityFieldType
GetConstantVelocityField () const
 
virtual void SetConstantVelocityFieldInterpolator (ConstantVelocityFieldInterpolatorType *)
 
virtual
ConstantVelocityFieldInterpolatorType
GetModifiableConstantVelocityFieldInterpolator ()
 
virtual const
ConstantVelocityFieldInterpolatorType
GetConstantVelocityFieldInterpolator () const
 
- Public Member Functions inherited from itk::DisplacementFieldTransform< TScalar, NDimensions >
virtual void ComputeInverseJacobianWithRespectToPosition (const InputPointType &x, JacobianType &j) const
 
virtual void ComputeJacobianWithRespectToParameters (const IndexType &, JacobianType &j) const
 
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &x, JacobianType &j) const
 
virtual void ComputeJacobianWithRespectToPosition (const IndexType &x, JacobianType &j) const
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const ModifiedTimeTypeGetDisplacementFieldSetTime () const
 
bool GetInverse (Self *inverse) const
 
virtual void GetInverseJacobianOfForwardFieldWithRespectToPosition (const InputPointType &point, JacobianType &jacobian, bool useSVD=false) const
 
virtual void GetInverseJacobianOfForwardFieldWithRespectToPosition (const IndexType &index, JacobianType &jacobian, bool useSVD=false) const
 
virtual NumberOfParametersType GetNumberOfLocalParameters (void) const
 
virtual TransformCategoryType GetTransformCategory () const
 
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &) const
 
OutputVectorPixelType TransformDiffusionTensor (const InputVectorPixelType &) const
 
virtual OutputPointType TransformPoint (const InputPointType &thisPoint) const
 
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
 
virtual void UpdateTransformParameters (const DerivativeType &update, ScalarType factor=1.0)
 
virtual void SetDisplacementField (DisplacementFieldType *field)
 
virtual DisplacementFieldTypeGetModifiableDisplacementField ()
 
virtual const
DisplacementFieldType
GetDisplacementField () const
 
virtual void SetInverseDisplacementField (DisplacementFieldType *inverseDisplacementField)
 
virtual DisplacementFieldTypeGetModifiableInverseDisplacementField ()
 
virtual const
DisplacementFieldType
GetInverseDisplacementField () const
 
virtual void SetInterpolator (InterpolatorType *interpolator)
 
virtual InterpolatorTypeGetModifiableInterpolator ()
 
virtual const InterpolatorTypeGetInterpolator () const
 
virtual void SetInverseInterpolator (InterpolatorType *interpolator)
 
virtual InterpolatorTypeGetModifiableInverseInterpolator ()
 
virtual const InterpolatorTypeGetInverseInterpolator () const
 
virtual OutputVectorType TransformVector (const InputVectorType &) const
 
OutputDiffusionTensor3DType TransformDiffusionTensor (const InputDiffusionTensor3DType &) const
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
 
virtual void SetParameters (const ParametersType &params)
 
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &j) const
 
- Public Member Functions inherited from itk::Transform< TScalar, NDimensions, NDimensions >
virtual void ComputeInverseJacobianWithRespectToPosition (const InputPointType &x, JacobianType &jacobian) const
 
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const =0
 
virtual void ComputeJacobianWithRespectToParametersCachedTemporaries (const InputPointType &p, JacobianType &jacobian, JacobianType &) const
 
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianType &) const
 
virtual const ParametersTypeGetFixedParameters (void) const
 
unsigned int GetInputSpaceDimension (void) const
 
bool GetInverse (Self *) const
 
virtual NumberOfParametersType GetNumberOfParameters (void) const
 
unsigned int GetOutputSpaceDimension (void) const
 
virtual const ParametersTypeGetParameters (void) const
 
virtual std::string GetTransformTypeAsString () const
 
virtual bool IsLinear () const
 
 itkCloneMacro (Self)
 
virtual void SetParametersByValue (const ParametersType &p)
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformCovariantVector (const InputVectorPixelType &vector, const InputPointType &point) const
 
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &) const
 
virtual OutputDiffusionTensor3DType TransformDiffusionTensor3D (const InputDiffusionTensor3DType &tensor, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformDiffusionTensor3D (const InputVectorPixelType &tensor, const InputPointType &point) const
 
virtual OutputPointType TransformPoint (const InputPointType &) const =0
 
virtual
OutputSymmetricSecondRankTensorType 
TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &tensor, const InputPointType &point) const
 
virtual
OutputSymmetricSecondRankTensorType 
TransformSymmetricSecondRankTensor (const InputSymmetricSecondRankTensorType &) const
 
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformSymmetricSecondRankTensor (const InputVectorPixelType &tensor, const InputPointType &point) const
 
virtual OutputVectorType TransformVector (const InputVectorType &) const
 
virtual OutputVectorType TransformVector (const InputVectorType &vector, const InputPointType &point) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &vector, const InputPointType &point) const
 
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &) const
 
virtual OutputVectorPixelType TransformVector (const InputVectorPixelType &vector, const InputPointType &point) const
 
virtual void UpdateTransformParameters (const DerivativeType &update, TScalar factor=1.0)
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary (void)
 
const MetaDataDictionaryGetMetaDataDictionary (void) const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const ITK_OVERRIDE
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetReferenceCount (int) ITK_OVERRIDE
 
virtual void UnRegister () const ITK_OVERRIDE
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::ConstantVelocityFieldTransform< TScalar, NDimensions >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::DisplacementFieldTransform< TScalar, NDimensions >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Static Public Attributes

static const unsigned int ConstantVelocityFieldDimension = NDimensions
 
static const unsigned int Dimension = NDimensions
 
- Static Public Attributes inherited from itk::ConstantVelocityFieldTransform< TScalar, NDimensions >
static const unsigned int ConstantVelocityFieldDimension = NDimensions
 
static const unsigned int Dimension = NDimensions
 
- Static Public Attributes inherited from itk::DisplacementFieldTransform< TScalar, NDimensions >
static const unsigned int Dimension = NDimensions
 
- Static Public Attributes inherited from itk::Transform< TScalar, NDimensions, NDimensions >
static const unsigned int InputSpaceDimension
 
static const unsigned int OutputSpaceDimension
 

Protected Member Functions

 BSplineExponentialDiffeomorphicTransform ()
 
void PrintSelf (std::ostream &, Indent) const
 
virtual ~BSplineExponentialDiffeomorphicTransform ()
 
- Protected Member Functions inherited from itk::ConstantVelocityFieldTransform< TScalar, NDimensions >
 ConstantVelocityFieldTransform ()
 
DisplacementFieldType::Pointer CopyDisplacementField (const DisplacementFieldType *) const
 
virtual LightObject::Pointer InternalClone () const
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual ~ConstantVelocityFieldTransform ()
 
- Protected Member Functions inherited from itk::DisplacementFieldTransform< TScalar, NDimensions >
 DisplacementFieldTransform ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual ~DisplacementFieldTransform ()
 
- Protected Member Functions inherited from itk::Transform< TScalar, NDimensions, NDimensions >
OutputDiffusionTensor3DType PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType, const JacobianType) const
 
 Transform ()
 
 Transform (NumberOfParametersType NumberOfParameters)
 
virtual ~Transform ()
 
- Protected Member Functions inherited from itk::TransformBaseTemplate< TScalar >
 TransformBaseTemplate ()
 
virtual ~TransformBaseTemplate ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Private Member Functions

 BSplineExponentialDiffeomorphicTransform (const Self &)
 
void operator= (const Self &)
 

Private Attributes

ArrayType m_NumberOfControlPointsForTheConstantVelocityField
 
ArrayType m_NumberOfControlPointsForTheUpdateField
 
SplineOrderType m_SplineOrder
 

Additional Inherited Members

- Protected Types inherited from itk::LightObject
typedef int InternalReferenceCountType
 
- Protected Attributes inherited from itk::ConstantVelocityFieldTransform< TScalar, NDimensions >
bool m_CalculateNumberOfIntegrationStepsAutomatically
 
ConstantVelocityFieldPointer m_ConstantVelocityField
 
ConstantVelocityFieldInterpolatorPointer m_ConstantVelocityFieldInterpolator
 
ModifiedTimeType m_ConstantVelocityFieldSetTime
 
ScalarType m_LowerTimeBound
 
unsigned int m_NumberOfIntegrationSteps
 
ScalarType m_UpperTimeBound
 
- Protected Attributes inherited from itk::DisplacementFieldTransform< TScalar, NDimensions >
DisplacementFieldType::Pointer m_DisplacementField
 
ModifiedTimeType m_DisplacementFieldSetTime
 
JacobianType m_IdentityJacobian
 
InterpolatorType::Pointer m_Interpolator
 
DisplacementFieldType::Pointer m_InverseDisplacementField
 
InterpolatorType::Pointer m_InverseInterpolator
 
- Protected Attributes inherited from itk::Transform< TScalar, NDimensions, NDimensions >
DirectionChangeMatrix m_DirectionChange
 
ParametersType m_FixedParameters
 
ParametersType m_Parameters
 
- Protected Attributes inherited from itk::LightObject
InternalReferenceCountType m_ReferenceCount
 
SimpleFastMutexLock m_ReferenceCountLock
 

Member Typedef Documentation

template<typename TScalar , unsigned int NDimensions>
typedef BSplineFilterType::ArrayType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::ArrayType
template<typename TScalar , unsigned int NDimensions>
typedef ArrayType::ValueType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::ArrayValueType
template<typename TScalar , unsigned int NDimensions>
typedef Superclass::ConstantVelocityFieldPointer itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::ConstantVelocityFieldPointer
template<typename TScalar , unsigned int NDimensions>
typedef Superclass::ConstantVelocityFieldType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::ConstantVelocityFieldType
template<typename TScalar , unsigned int NDimensions>
typedef SmartPointer<const Self> itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::ConstPointer
template<typename TScalar , unsigned int NDimensions>
typedef Superclass::DerivativeType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::DerivativeType
template<typename TScalar , unsigned int NDimensions>
typedef DerivativeType::ValueType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::DerivativeValueType
template<typename TScalar , unsigned int NDimensions>
typedef Superclass::DisplacementFieldPointer itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::DisplacementFieldPointer
template<typename TScalar , unsigned int NDimensions>
typedef Superclass::DisplacementFieldType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::DisplacementFieldType
template<typename TScalar , unsigned int NDimensions>
typedef DisplacementFieldType::PixelType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::DisplacementVectorType
template<typename TScalar , unsigned int NDimensions>
typedef SmartPointer<Self> itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::Pointer
template<typename TScalar , unsigned int NDimensions>
typedef PointSet<ConstantVelocityFieldType, Dimension> itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::PointSetType

typedefs for projecting the input displacement field onto a B-spline field.

Definition at line 94 of file itkBSplineExponentialDiffeomorphicTransform.h.

template<typename TScalar , unsigned int NDimensions>
typedef Superclass::ScalarType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::ScalarType

Types from superclass

Definition at line 79 of file itkBSplineExponentialDiffeomorphicTransform.h.

template<typename TScalar , unsigned int NDimensions>
typedef BSplineExponentialDiffeomorphicTransform itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::Self

Standard class typedefs.

Definition at line 61 of file itkBSplineExponentialDiffeomorphicTransform.h.

template<typename TScalar , unsigned int NDimensions>
typedef unsigned int itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::SplineOrderType
template<typename TScalar , unsigned int NDimensions>
typedef ConstantVelocityFieldTransform<TScalar, NDimensions> itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::Superclass
template<typename TScalar , unsigned int NDimensions>
typedef BSplineFilterType::WeightsContainerType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::WeightsContainerType

Constructor & Destructor Documentation

template<typename TScalar , unsigned int NDimensions>
itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::BSplineExponentialDiffeomorphicTransform ( )
protected
template<typename TScalar , unsigned int NDimensions>
virtual itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::~BSplineExponentialDiffeomorphicTransform ( )
protectedvirtual
template<typename TScalar , unsigned int NDimensions>
itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::BSplineExponentialDiffeomorphicTransform ( const Self )
private

Member Function Documentation

template<typename TScalar , unsigned int NDimensions>
virtual ConstantVelocityFieldPointer itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::BSplineSmoothConstantVelocityField ( const ConstantVelocityFieldType ,
const ArrayType  
)
virtual

Smooth the constant velocity field in-place.

template<typename TScalar , unsigned int NDimensions>
virtual::itk::LightObject::Pointer itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::CreateAnother ( void  ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<typename TScalar , unsigned int NDimensions>
virtual const char* itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ConstantVelocityFieldTransform< TScalar, NDimensions >.

template<typename TScalar , unsigned int NDimensions>
virtual ArrayType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::GetNumberOfControlPointsForTheConstantVelocityField ( ) const
virtual

Set/Get the control point grid size defining the B-spline estimate of the smoothed velocity field. In each dimension, the B-spline mesh size is equal to the number of control points in that dimension minus the spline order. Default = 4 control points in each dimension for a mesh size of 1 in each dimension.

template<typename TScalar , unsigned int NDimensions>
virtual ArrayType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::GetNumberOfControlPointsForTheUpdateField ( ) const
virtual

Set the control point grid size defining the B-spline estimate of the smoothed update field. In each dimension, the B-spline mesh size is equal to the number of control points in that dimension minus the spline order. Default = 4 control points in each dimension for a mesh size of 1 in each dimension.

template<typename TScalar , unsigned int NDimensions>
virtual SplineOrderType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::GetSplineOrder ( ) const
virtual

Set/Get the spline order.

template<typename TScalar , unsigned int NDimensions>
static Pointer itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::New ( )
static

New macro for creation of through a Smart Pointer

template<typename TScalar , unsigned int NDimensions>
void itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::operator= ( const Self )
private
template<typename TScalar , unsigned int NDimensions>
void itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

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::Object.

template<typename TScalar , unsigned int NDimensions>
void itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::SetMeshSizeForTheConstantVelocityField ( const ArrayType )

Set the update field mesh size which is used to specify the control point grid size. The mesh size in each dimension is calculated as the difference between the control point grid size and the spline order, i.e. meshSize = controlPointGridSize - SplineOrder.

template<typename TScalar , unsigned int NDimensions>
void itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::SetMeshSizeForTheUpdateField ( const ArrayType )

Set the velocity field mesh size which is used to specify the control point grid size. The mesh size in each dimension is calculated as the difference between the control point grid size and the spline order, i.e. meshSize = controlPointGridSize - SplineOrder.

template<typename TScalar , unsigned int NDimensions>
virtual void itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::SetNumberOfControlPointsForTheConstantVelocityField ( ArrayType  _arg)
virtual

Set/Get the control point grid size defining the B-spline estimate of the smoothed velocity field. In each dimension, the B-spline mesh size is equal to the number of control points in that dimension minus the spline order. Default = 4 control points in each dimension for a mesh size of 1 in each dimension.

template<typename TScalar , unsigned int NDimensions>
virtual void itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::SetNumberOfControlPointsForTheUpdateField ( ArrayType  _arg)
virtual

Set the control point grid size defining the B-spline estimate of the smoothed update field. In each dimension, the B-spline mesh size is equal to the number of control points in that dimension minus the spline order. Default = 4 control points in each dimension for a mesh size of 1 in each dimension.

template<typename TScalar , unsigned int NDimensions>
virtual void itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::SetSplineOrder ( SplineOrderType  _arg)
virtual

Set/Get the spline order.

template<typename TScalar , unsigned int NDimensions>
virtual void itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::UpdateTransformParameters ( const DerivativeType update,
ScalarType  factor = 1.0 
)
virtual

Update the transform's parameters by the values in update. We overwrite the base class implementation as we might want to smooth the update field before adding it to the velocity field

Reimplemented from itk::ConstantVelocityFieldTransform< TScalar, NDimensions >.

Member Data Documentation

template<typename TScalar , unsigned int NDimensions>
const unsigned int itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::ConstantVelocityFieldDimension = NDimensions
static

Dimension of the velocity field .

Definition at line 73 of file itkBSplineExponentialDiffeomorphicTransform.h.

template<typename TScalar , unsigned int NDimensions>
const unsigned int itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::Dimension = NDimensions
static

Dimension of the vector spaces.

Definition at line 76 of file itkBSplineExponentialDiffeomorphicTransform.h.

template<typename TScalar , unsigned int NDimensions>
ArrayType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::m_NumberOfControlPointsForTheConstantVelocityField
private
template<typename TScalar , unsigned int NDimensions>
ArrayType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::m_NumberOfControlPointsForTheUpdateField
private
template<typename TScalar , unsigned int NDimensions>
SplineOrderType itk::BSplineExponentialDiffeomorphicTransform< TScalar, NDimensions >::m_SplineOrder
private

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