go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
elastix::SplineKernelTransform< TElastix > Class Template Reference

#include <elxSplineKernelTransform.h>

Detailed Description

template<class TElastix>
class elastix::SplineKernelTransform< TElastix >

A transform based on the itk::KernelTransform2.

This transform is a nonrigid transformation, based on thin-plate-spline-like kernels.

The ITK code for this class is largely based on code by Rupert Brooks. For elastix a few modifications were made (making the transform thread safe, and make it support the AdvancedTransform framework).

This nonrigid transformation model allows the user to place control points at application-specific positions, unlike the BSplineTransform, which always uses a regular grid of control points.

NB: in order to use this class for registration, the -fp command line argument is mandatory! It is used to place the fixed image landmarks.

The parameters used in this class are:

Parameters:

Transform: Select this transform as follows:
(Transform "SplineKernelTransform")

SplineKernelType: Select the deformation model, which must be one of { ThinPlateSpline, ThinPlateR2LogRSpline, VolumeSpline, ElasticBodySpline, ElasticBodyReciprocalSpline). In 2D this option is ignored and a ThinPlateSpline will always be used.
example: (SplineKernelType "ElasticBodySpline")
Default: ThinPlateSpline. You cannot specify this parameter for each resolution differently.

SplineRelaxationFactor: make the spline interpolating or approximating. A value of 0.0 gives an interpolating transform. Higher values result in approximating splines.
example: (SplineRelaxationFactor 0.01 )
Default: 0.0. You cannot specify this parameter for each resolution differently.

SplinePoissonRatio: Set the poisson ratio for the ElasticBodySpline and the ElastixBodyReciprocalSpline. For other SplineKernelTypes this parameters is ignored.
example: (SplinePoissonRatio 0.3 )
Default: 0.3. You cannot specify this parameter for each resolution differently.
Valid values are withing -1.0 and 0.5. 0.5 means incompressible. Negative values are a bit odd, but possible. See Wikipedia on PoissonRatio.

Command line arguments:

-fp: a file specifying a set of points that will serve as fixed image landmarks.
example: -fp fixedImagePoints.txt
The fixedImagePoints.txt file should be structured: first line should be "index" or "point", depending if the user supplies voxel indices or real world coordinates. The second line should be the number of points that should be transformed. The third and following lines give the indices or points. The same structure thus as used for transformix.

-mp: an optional file specifying a set of points that will serve as moving image landmarks, used to initialize the transformation.
example: -mp movingImagePoints.txt
The movingImagePoints.txt should be structured like the fixedImagePoints.txt. The moving landmarks should be corresponding to the fixed landmarks. If no file is provided, the transformation is initialized to be the identity, i.e. the moving landmarks are chosen identical to the fixed landmarks.

Transform Parameters:

Transform: Select this transform as follows:
(Transform "SplineKernelTransform")

SplineKernelType: Select the deformation model, which must be one of { ThinPlateSpline, ThinPlateR2LogRSpline, VolumeSpline, ElasticBodySpline, ElasticBodyReciprocalSpline). In 2D this option is ignored and a ThinPlateSpline will always be used.
example: (SplineKernelType "ElasticBodySpline")
*

SplineRelaxationFactor: make the spline interpolating or approximating. A value of 0.0 gives an interpolating transform. Higher values result in approximating splines.
example: (SplineRelaxationFactor 0.01 )
*

SplinePoissonRatio: Set the Poisson ratio for the ElasticBodySpline and the ElastixBodyReciprocalSpline. For other SplineKernelTypes this parameters is ignored.
example: (SplinePoissonRatio 0.3 )
Valid values are withing -1.0 and 0.5. 0.5 means incompressible. Negative values are a bit odd, but possible. See Wikipedia on PoissonRatio.

FixedImageLandmarks: The landmark positions in the fixed image, in world coordinates. Positions written as x1 y1 [z1] x2 y2 [z2] etc.
example: (FixedImageLandmarks 10.0 11.0 12.0 4.0 4.0 4.0 6.0 6.0 6.0 )

Definition at line 115 of file elxSplineKernelTransform.h.

Inheritance diagram for elastix::SplineKernelTransform< TElastix >:
Inheritance graph
[legend]

Public Types

typedef Superclass2::CombinationTransformType CombinationTransformType
 
typedef Superclass2::ConfigurationPointer ConfigurationPointer
 
typedef Superclass2::ConfigurationType ConfigurationType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass2::CoordRepType CoordRepType
 
typedef Superclass2::ElastixPointer ElastixPointer
 
typedef Superclass2::ElastixType ElastixType
 
typedef Superclass2::FixedImageType FixedImageType
 
typedef Superclass1::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass1::InputPointType InputPointType
 
typedef Superclass1::InputVectorType InputVectorType
 
typedef Superclass1::InputVnlVectorType InputVnlVectorType
 
typedef Superclass2::ITKBaseType ITKBaseType
 
typedef Superclass1::JacobianType JacobianType
 
typedef KernelTransformType::Pointer KernelTransformPointer
 
typedef itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > KernelTransformType
 
typedef Superclass2::MovingImageType MovingImageType
 
typedef Superclass1::NumberOfParametersType NumberOfParametersType
 
typedef Superclass1::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass1::OutputPointType OutputPointType
 
typedef Superclass1::OutputVectorType OutputVectorType
 
typedef Superclass1::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass1::ParametersType ParametersType
 
typedef itk::SmartPointer< SelfPointer
 
typedef PointSetType::Pointer PointSetPointer
 
typedef KernelTransformType::PointSetType PointSetType
 
typedef Superclass2::RegistrationPointer RegistrationPointer
 
typedef Superclass2::RegistrationType RegistrationType
 
typedef Superclass1::ScalarType ScalarType
 
typedef SplineKernelTransform Self
 
typedef itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
 
typedef elx::TransformBase< TElastix > Superclass2
 
- Public Types inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
typedef SmartPointer< const SelfConstPointer
 
typedef CurrentTransformType::ConstPointer CurrentTransformConstPointer
 
typedef CurrentTransformType::InverseTransformBasePointer CurrentTransformInverseTransformBasePointer
 
typedef CurrentTransformType::InverseTransformBaseType CurrentTransformInverseTransformBaseType
 
typedef CurrentTransformType::Pointer CurrentTransformPointer
 
typedef Superclass CurrentTransformType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef void(Self::* EvaluateJacobianWithImageGradientProductFunctionPointer) (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialHessianFunctionPointer) (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialHessianFunctionPointer2) (const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialJacobianFunctionPointer) (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialJacobianFunctionPointer2) (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetSparseJacobianFunctionPointer) (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetSpatialHessianFunctionPointer) (const InputPointType &, SpatialHessianType &) const
 
typedef void(Self::* GetSpatialJacobianFunctionPointer) (const InputPointType &, SpatialJacobianType &) const
 
typedef InitialTransformType::ConstPointer InitialTransformConstPointer
 
typedef InitialTransformType::InverseTransformBasePointer InitialTransformInverseTransformBasePointer
 
typedef InitialTransformType::InverseTransformBaseType InitialTransformInverseTransformBaseType
 
typedef InitialTransformType::Pointer InitialTransformPointer
 
typedef Superclass InitialTransformType
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef Superclass::InternalMatrixType InternalMatrixType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
 
typedef Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef Superclass::MovingImageGradientType MovingImageGradientType
 
typedef Superclass::MovingImageGradientValueType MovingImageGradientValueType
 
typedef Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedCombinationTransform Self
 
typedef Superclass::SpatialHessianType SpatialHessianType
 
typedef Superclass::SpatialJacobianType SpatialJacobianType
 
typedef AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions > Superclass
 
typedef Superclass::TransformCategoryType TransformCategoryType
 
typedef OutputPointType(Self::* TransformPointFunctionPointer) (const InputPointType &) const
 
typedef Superclass::TransformType TransformType
 
typedef TransformType::ConstPointer TransformTypeConstPointer
 
typedef TransformType::Pointer TransformTypePointer
 
- Public Types inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef SpatialJacobianType::InternalMatrixType InternalMatrixType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef std::vector< SpatialHessianTypeJacobianOfSpatialHessianType
 
typedef std::vector< SpatialJacobianTypeJacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef OutputCovariantVectorType MovingImageGradientType
 
typedef MovingImageGradientType::ValueType MovingImageGradientValueType
 
typedef std::vector< unsigned long > NonZeroJacobianIndicesType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedTransform Self
 
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
 
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
 
typedef Transform< elx::TransformBase< TElastix >::CoordRepType, NInputDimensions, NOutputDimensions > Superclass
 
typedef Transform< elx::TransformBase< TElastix >::CoordRepType, NInputDimensions, NOutputDimensions > TransformType
 
typedef TransformType::ConstPointer TransformTypeConstPointer
 
typedef TransformType::Pointer TransformTypePointer
 
- Public Types inherited from elastix::TransformBase< TElastix >
typedef itk::AdvancedCombinationTransform< CoordRepType, itkGetStaticConstMacro(FixedImageDimension) > CombinationTransformType
 
typedef ConfigurationType::CommandLineArgumentMapType CommandLineArgumentMapType
 
typedef ConfigurationType::CommandLineEntryType CommandLineEntryType
 
typedef ComponentDatabase ComponentDatabaseType
 
typedef ComponentDatabaseType::ComponentDescriptionType ComponentDescriptionType
 
typedef Superclass::ConfigurationPointer ConfigurationPointer
 
typedef Superclass::ConfigurationType ConfigurationType
 
typedef ElastixType::CoordRepType CoordRepType
 
typedef Superclass::ElastixPointer ElastixPointer
 
typedef Superclass::ElastixType ElastixType
 
typedef ElastixType::FixedImageType FixedImageType
 
typedef CombinationTransformType::InitialTransformType InitialTransformType
 
typedef ITKBaseType::InputPointType InputPointType
 
typedef itk::AdvancedTransform< CoordRepType, itkGetStaticConstMacro(FixedImageDimension), itkGetStaticConstMacro(MovingImageDimension) > ITKBaseType
 
typedef RegistrationType::ITKBaseType ITKRegistrationType
 
typedef ElastixType::MovingImageType MovingImageType
 
typedef itk::Object ObjectType
 
typedef ITKRegistrationType::OptimizerType OptimizerType
 
typedef ITKBaseType::OutputPointType OutputPointType
 
typedef ElastixType::ParameterMapType ParameterMapType
 
typedef ITKBaseType::ParametersType ParametersType
 
typedef elx::ProgressCommand ProgressCommandType
 
typedef ComponentDatabase::PtrToCreator PtrToCreator
 
typedef Superclass::RegistrationPointer RegistrationPointer
 
typedef Superclass::RegistrationType RegistrationType
 
typedef OptimizerType::ScalesType ScalesType
 
typedef TransformBase Self
 
typedef BaseComponentSE< TElastix > Superclass
 
typedef ParametersType::ValueType ValueType
 
- Public Types inherited from elastix::BaseComponentSE< TElastix >
typedef ElastixType::ConfigurationPointer ConfigurationPointer
 
typedef ElastixType::ConfigurationType ConfigurationType
 
typedef ElastixType::Pointer ElastixPointer
 
typedef TElastix ElastixType
 
typedef RegistrationTypeRegistrationPointer
 
typedef ElastixType::RegistrationBaseType RegistrationType
 
typedef BaseComponentSE Self
 
typedef BaseComponent Superclass
 

Public Member Functions

virtual int BeforeAll (void)
 
virtual void BeforeRegistration (void)
 
 elxClassNameMacro ("SplineKernelTransform")
 
virtual const char * GetClassName () const
 
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
 
virtual void ReadFromFile (void)
 
virtual void WriteToFile (const ParametersType &param) const
 
- Public Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual CurrentTransformTypeGetCurrentTransform ()
 
virtual const CurrentTransformTypeGetCurrentTransform ()
 
virtual const ParametersTypeGetFixedParameters (void) const
 
virtual bool GetHasNonZeroSpatialHessian (void) const
 
virtual InitialTransformTypeGetInitialTransform ()
 
virtual const InitialTransformTypeGetInitialTransform ()
 
virtual bool GetInverse (Self *inverse) const
 
virtual void GetJacobian (const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual const TransformTypePointer GetNthTransform (SizeValueType n) const
 
virtual NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const
 
virtual NumberOfParametersType GetNumberOfParameters (void) const
 
virtual SizeValueType GetNumberOfTransforms (void) const
 
virtual const ParametersTypeGetParameters (void) const
 
virtual void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const
 
virtual void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const
 
virtual TransformCategoryType GetTransformCategory () const
 
virtual bool GetUseAddition () const
 
virtual bool GetUseComposition () const
 
virtual bool HasNonZeroJacobianOfSpatialHessian (void) const
 
virtual bool IsLinear (void) const
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetCurrentTransform (CurrentTransformType *_arg)
 
virtual void SetFixedParameters (const ParametersType &fixedParam)
 
virtual void SetInitialTransform (InitialTransformType *_arg)
 
virtual void SetParameters (const ParametersType &param)
 
virtual void SetParametersByValue (const ParametersType &param)
 
virtual void SetUseAddition (bool _arg)
 
virtual void SetUseComposition (bool _arg)
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
 
virtual OutputPointType TransformPoint (const InputPointType &point) const
 
virtual OutputVectorType TransformVector (const InputVectorType &) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
 
- Public Member Functions inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const
 
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianType &) const
 
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 
virtual void GetJacobian (const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0
 
virtual void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const =0
 
virtual void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const =0
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 
- Public Member Functions inherited from elastix::TransformBase< TElastix >
virtual void AfterRegistrationBase (void)
 
virtual int BeforeAllBase (void)
 
virtual int BeforeAllTransformix (void)
 
virtual void BeforeRegistrationBase (void)
 
virtual void ComputeDeterminantOfSpatialJacobian (void) const
 
virtual void ComputeSpatialJacobian (void) const
 
virtual void CreateTransformParametersMap (const ParametersType &param, ParameterMapType *paramsMap) const
 
virtual const CombinationTransformTypeGetAsCombinationTransform (void) const
 
virtual CombinationTransformTypeGetAsCombinationTransform (void)
 
virtual ITKBaseTypeGetAsITKBaseType (void)
 
virtual const ITKBaseTypeGetAsITKBaseType (void) const
 
virtual const InitialTransformTypeGetInitialTransform (void) const
 
virtual const char * GetTransformParametersFileName () const
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
 
virtual void ReadInitialTransformFromFile (const char *transformParameterFileName)
 
virtual void ReadInitialTransformFromVector (const vcl_size_t index)
 
virtual void SetFinalParameters (void)
 
virtual void SetInitialTransform (InitialTransformType *_arg)
 
virtual void SetReadWriteTransformParameters (const bool _arg)
 
virtual void SetTransformParametersFileName (const char *filename)
 
virtual void TransformPoints (void) const
 
virtual void TransformPointsAllPoints (void) const
 
virtual void TransformPointsSomePoints (const std::string filename) const
 
virtual void TransformPointsSomePointsVTK (const std::string filename) const
 
virtual void WriteToFile (void) const
 
- Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
virtual ConfigurationTypeGetConfiguration (void) const
 
virtual ElastixTypeGetElastix (void) const
 
virtual RegistrationPointer GetRegistration (void) const
 
virtual void SetConfiguration (ConfigurationType *_arg)
 
virtual void SetElastix (ElastixType *_arg)
 
- Public Member Functions inherited from elastix::BaseComponent
virtual void AfterEachIteration (void)
 
virtual void AfterEachIterationBase (void)
 
virtual void AfterEachResolution (void)
 
virtual void AfterEachResolutionBase (void)
 
virtual void AfterRegistration (void)
 
virtual void BeforeEachResolution (void)
 
virtual void BeforeEachResolutionBase (void)
 
std::string ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision) const
 
virtual const char * elxGetClassName (void) const
 
virtual const char * GetComponentLabel (void) const
 
virtual void SetComponentLabel (const char *label, unsigned int idx)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
static Pointer New ()
 

Protected Types

typedef itk::ElasticBodySplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > EBKernelTransformType
 
typedef itk::ElasticBodyReciprocalSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > EBRKernelTransformType
 
typedef itk::ThinPlateSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > TPKernelTransformType
 
typedef itk::ThinPlateR2LogRSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > TPRKernelTransformType
 
typedef itk::VolumeSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro(SpaceDimension) > VKernelTransformType
 

Protected Member Functions

virtual void DetermineSourceLandmarks (void)
 
virtual bool DetermineTargetLandmarks (void)
 
virtual void ReadLandmarkFile (const std::string &filename, PointSetPointer &landmarkPointSet, const bool &landmarksInFixedImage)
 
virtual bool SetKernelType (const std::string &kernelType)
 
 SplineKernelTransform ()
 
virtual ~SplineKernelTransform ()
 
- Protected Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
 AdvancedCombinationTransform ()
 
void EvaluateJacobianWithImageGradientProductNoCurrentTransform (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void EvaluateJacobianWithImageGradientProductNoInitialTransform (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void EvaluateJacobianWithImageGradientProductUseAddition (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void EvaluateJacobianWithImageGradientProductUseComposition (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianNoCurrentTransform (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianNoInitialTransform (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseComposition (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessianUseComposition (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianUseAddition (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianUseComposition (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetSpatialHessianNoCurrentTransform (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianNoInitialTransform (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianUseAddition (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianUseComposition (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialJacobianNoCurrentTransform (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianNoInitialTransform (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianUseAddition (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianUseComposition (const InputPointType &ipp, SpatialJacobianType &sj) const
 
virtual void NoCurrentTransformSet (void) const throw ( ExceptionObject )
 
OutputPointType TransformPointNoCurrentTransform (const InputPointType &point) const
 
OutputPointType TransformPointNoInitialTransform (const InputPointType &point) const
 
OutputPointType TransformPointUseAddition (const InputPointType &point) const
 
OutputPointType TransformPointUseComposition (const InputPointType &point) const
 
virtual void UpdateCombinationMethod (void)
 
virtual ~AdvancedCombinationTransform ()
 
- Protected Member Functions inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
 AdvancedTransform ()
 
 AdvancedTransform (NumberOfParametersType numberOfParameters)
 
virtual ~AdvancedTransform ()
 
- Protected Member Functions inherited from elastix::TransformBase< TElastix >
void AutomaticScalesEstimation (ScalesType &scales) const
 
 TransformBase ()
 
virtual ~TransformBase ()
 
- Protected Member Functions inherited from elastix::BaseComponentSE< TElastix >
 BaseComponentSE ()
 
virtual ~BaseComponentSE ()
 
- Protected Member Functions inherited from elastix::BaseComponent
 BaseComponent ()
 
virtual ~BaseComponent ()
 

Protected Attributes

KernelTransformPointer m_KernelTransform
 
- Protected Attributes inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
CurrentTransformPointer m_CurrentTransform
 
InitialTransformPointer m_InitialTransform
 
EvaluateJacobianWithImageGradientProductFunctionPointer m_SelectedEvaluateJacobianWithImageGradientProductFunction
 
GetJacobianOfSpatialHessianFunctionPointer m_SelectedGetJacobianOfSpatialHessianFunction
 
GetJacobianOfSpatialHessianFunctionPointer2 m_SelectedGetJacobianOfSpatialHessianFunction2
 
GetJacobianOfSpatialJacobianFunctionPointer m_SelectedGetJacobianOfSpatialJacobianFunction
 
GetJacobianOfSpatialJacobianFunctionPointer2 m_SelectedGetJacobianOfSpatialJacobianFunction2
 
GetSparseJacobianFunctionPointer m_SelectedGetSparseJacobianFunction
 
GetSpatialHessianFunctionPointer m_SelectedGetSpatialHessianFunction
 
GetSpatialJacobianFunctionPointer m_SelectedGetSpatialJacobianFunction
 
TransformPointFunctionPointer m_SelectedTransformPointFunction
 
bool m_UseAddition
 
bool m_UseComposition
 
- Protected Attributes inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 
- Protected Attributes inherited from elastix::TransformBase< TElastix >
ParametersType m_FinalParameters
 
std::string m_TransformParametersFileName
 
ParametersTypem_TransformParametersPointer
 
- Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
ConfigurationPointer m_Configuration
 
ElastixPointer m_Elastix
 
RegistrationPointer m_Registration
 

Private Member Functions

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

Private Attributes

std::string m_SplineKernelType
 

Member Typedef Documentation

Definition at line 178 of file elxSplineKernelTransform.h.

Definition at line 171 of file elxSplineKernelTransform.h.

Definition at line 170 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef itk::SmartPointer< const Self > elastix::SplineKernelTransform< TElastix >::ConstPointer

Definition at line 136 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass2::CoordRepType elastix::SplineKernelTransform< TElastix >::CoordRepType

Definition at line 174 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef itk::ElasticBodySplineKernelTransform2< CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > elastix::SplineKernelTransform< TElastix >::EBKernelTransformType
protected

Definition at line 219 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef itk::ElasticBodyReciprocalSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > elastix::SplineKernelTransform< TElastix >::EBRKernelTransformType
protected

Definition at line 221 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass2::ElastixPointer elastix::SplineKernelTransform< TElastix >::ElastixPointer

Definition at line 169 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass2::ElastixType elastix::SplineKernelTransform< TElastix >::ElastixType

Typedef's from the TransformBase class.

Definition at line 168 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass2::FixedImageType elastix::SplineKernelTransform< TElastix >::FixedImageType

Definition at line 175 of file elxSplineKernelTransform.h.

Definition at line 160 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass1::InputPointType elastix::SplineKernelTransform< TElastix >::InputPointType

Definition at line 164 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass1::InputVectorType elastix::SplineKernelTransform< TElastix >::InputVectorType

Definition at line 158 of file elxSplineKernelTransform.h.

Definition at line 162 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass2::ITKBaseType elastix::SplineKernelTransform< TElastix >::ITKBaseType

Definition at line 177 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass1::JacobianType elastix::SplineKernelTransform< TElastix >::JacobianType

Definition at line 157 of file elxSplineKernelTransform.h.

Extra typedefs

Definition at line 181 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef itk::KernelTransform2< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > elastix::SplineKernelTransform< TElastix >::KernelTransformType

The ITK-class that provides most of the functionality, and that is set as the "CurrentTransform" in the CombinationTransform.

Definition at line 134 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass2::MovingImageType elastix::SplineKernelTransform< TElastix >::MovingImageType

Definition at line 176 of file elxSplineKernelTransform.h.

Definition at line 156 of file elxSplineKernelTransform.h.

Definition at line 161 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass1::OutputPointType elastix::SplineKernelTransform< TElastix >::OutputPointType

Definition at line 165 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass1::OutputVectorType elastix::SplineKernelTransform< TElastix >::OutputVectorType

Definition at line 159 of file elxSplineKernelTransform.h.

Definition at line 163 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass1::ParametersType elastix::SplineKernelTransform< TElastix >::ParametersType

Definition at line 155 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef itk::SmartPointer< Self > elastix::SplineKernelTransform< TElastix >::Pointer

Definition at line 135 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef PointSetType::Pointer elastix::SplineKernelTransform< TElastix >::PointSetPointer

Definition at line 183 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef KernelTransformType::PointSetType elastix::SplineKernelTransform< TElastix >::PointSetType

Definition at line 182 of file elxSplineKernelTransform.h.

Definition at line 173 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass2::RegistrationType elastix::SplineKernelTransform< TElastix >::RegistrationType

Definition at line 172 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef Superclass1::ScalarType elastix::SplineKernelTransform< TElastix >::ScalarType

Typedefs inherited from the superclass.

Definition at line 154 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef SplineKernelTransform elastix::SplineKernelTransform< TElastix >::Self

Standard ITK-stuff.

Definition at line 123 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > elastix::SplineKernelTransform< TElastix >::Superclass1

Definition at line 126 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef elx::TransformBase< TElastix > elastix::SplineKernelTransform< TElastix >::Superclass2

Definition at line 127 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef itk::ThinPlateSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > elastix::SplineKernelTransform< TElastix >::TPKernelTransformType
protected

Definition at line 213 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef itk::ThinPlateR2LogRSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > elastix::SplineKernelTransform< TElastix >::TPRKernelTransformType
protected

Definition at line 215 of file elxSplineKernelTransform.h.

template<class TElastix >
typedef itk::VolumeSplineKernelTransform2< CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > elastix::SplineKernelTransform< TElastix >::VKernelTransformType
protected

Definition at line 217 of file elxSplineKernelTransform.h.

Constructor & Destructor Documentation

template<class TElastix >
elastix::SplineKernelTransform< TElastix >::SplineKernelTransform ( )
protected

The constructor.

template<class TElastix >
virtual elastix::SplineKernelTransform< TElastix >::~SplineKernelTransform ( )
inlineprotectedvirtual

The destructor.

Definition at line 210 of file elxSplineKernelTransform.h.

template<class TElastix >
elastix::SplineKernelTransform< TElastix >::SplineKernelTransform ( const Self )
private

The private constructor.

Member Function Documentation

template<class TElastix >
virtual int elastix::SplineKernelTransform< TElastix >::BeforeAll ( void  )
virtual

Execute stuff before everything else:

  • Check if -fp command line argument was given
  • Check if -mp command line argument was given

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual void elastix::SplineKernelTransform< TElastix >::BeforeRegistration ( void  )
virtual

Execute stuff before the actual registration:

  • Setup transform
  • Determine fixed image (source) landmarks
  • Determine moving image (target) landmarks
  • Call InitializeTransform.

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual void elastix::SplineKernelTransform< TElastix >::DetermineSourceLandmarks ( void  )
protectedvirtual

Read source landmarks from fp file

  • Try reading -fp file
template<class TElastix >
virtual bool elastix::SplineKernelTransform< TElastix >::DetermineTargetLandmarks ( void  )
protectedvirtual

Read target landmarks from mp file or load identity.

  • Try reading -mp file
  • If no -mp file was given, place landmarks as identity.
template<class TElastix >
elastix::SplineKernelTransform< TElastix >::elxClassNameMacro ( "SplineKernelTransform< TElastix >"  )

Name of this class. Use this name in the parameter file to select this specific transform.
example: (Transform "SplineKernelTransform")

template<class TElastix >
virtual const char* elastix::SplineKernelTransform< TElastix >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from elastix::TransformBase< TElastix >.

template<class TElastix >
elastix::SplineKernelTransform< TElastix >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
Superclass2::FixedImageDimension   
)

Dimension of the domain space.

template<class TElastix >
static Pointer elastix::SplineKernelTransform< TElastix >::New ( )
static

Method for creation through the object factory.

template<class TElastix >
void elastix::SplineKernelTransform< TElastix >::operator= ( const Self )
private

The private copy constructor.

template<class TElastix >
virtual void elastix::SplineKernelTransform< TElastix >::ReadFromFile ( void  )
virtual

Function to read transform-parameters from a file.

Reimplemented from elastix::TransformBase< TElastix >.

template<class TElastix >
virtual void elastix::SplineKernelTransform< TElastix >::ReadLandmarkFile ( const std::string &  filename,
PointSetPointer landmarkPointSet,
const bool landmarksInFixedImage 
)
protectedvirtual

General function to read all landmarks.

template<class TElastix >
virtual bool elastix::SplineKernelTransform< TElastix >::SetKernelType ( const std::string &  kernelType)
protectedvirtual

Create an instance of a kernel transform. Returns false if the kernelType is unknown.

template<class TElastix >
virtual void elastix::SplineKernelTransform< TElastix >::WriteToFile ( const ParametersType param) const
virtual

Function to write transform-parameters to a file.

Reimplemented from elastix::TransformBase< TElastix >.

Field Documentation

template<class TElastix >
KernelTransformPointer elastix::SplineKernelTransform< TElastix >::m_KernelTransform
protected

The itk kernel transform.

Definition at line 246 of file elxSplineKernelTransform.h.

template<class TElastix >
std::string elastix::SplineKernelTransform< TElastix >::m_SplineKernelType
private

Definition at line 255 of file elxSplineKernelTransform.h.



Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo