Loading...
Searching...
No Matches
elastix::SplineKernelTransform< TElastix > Class Template Reference
Components » Transforms

`#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 >:
[legend]

## Public Types

using | CombinationTransformType = typename Superclass2::CombinationTransformType
using | ConstPointer = itk::SmartPointer<const Self>
using | CoordRepType
using | FixedImageType
using | ITKBaseType = typename Superclass2::ITKBaseType
using | KernelTransformPointer = typename KernelTransformType::Pointer
using | KernelTransformType
using | MovingImageType
using | ParameterMapType
using | Pointer = itk::SmartPointer<Self>
using | PointSetPointer = typename PointSetType::Pointer
using | PointSetType = typename KernelTransformType::PointSetType
using | Self = SplineKernelTransform
using | Superclass1
using | Superclass2 = elx::TransformBase<TElastix>
Public Types inherited from itk::AdvancedCombinationTransform< TScalarType, NDimensions >
using | ConstPointer = SmartPointer<const Self>
using | CurrentTransformConstPointer = typename CurrentTransformType::ConstPointer
using | CurrentTransformInverseTransformBasePointer = typename CurrentTransformType::InverseTransformBasePointer
using | CurrentTransformInverseTransformBaseType = typename CurrentTransformType::InverseTransformBaseType
using | CurrentTransformPointer = typename CurrentTransformType::Pointer
using | CurrentTransformType = Superclass
using | InitialTransformConstPointer = typename InitialTransformType::ConstPointer
using | InitialTransformInverseTransformBasePointer = typename InitialTransformType::InverseTransformBasePointer
using | InitialTransformInverseTransformBaseType = typename InitialTransformType::InverseTransformBaseType
using | InitialTransformPointer = typename InitialTransformType::Pointer
using | InitialTransformType = Superclass
using | InternalMatrixType
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType
using | JacobianOfSpatialHessianType
using | JacobianOfSpatialJacobianType
using | MovingImageGradientType
using | MovingImageGradientValueType
using | NonZeroJacobianIndicesType
using | Pointer = SmartPointer<Self>
using | Self = AdvancedCombinationTransform
using | SpatialHessianType
using | SpatialJacobianType
using | Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>
using | TransformType = typename Superclass::TransformType
using | TransformTypeConstPointer = typename TransformType::ConstPointer
using | TransformTypePointer = typename TransformType::Pointer
Public Types inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
using | ConstPointer
using | InternalMatrixType
using | InverseTransformBaseType
using | JacobianOfSpatialHessianType
using | JacobianOfSpatialJacobianType
using | MovingImageGradientType
using | MovingImageGradientValueType
using | NonZeroJacobianIndicesType
using | Pointer
using | Self
using | SpatialHessianType
using | SpatialJacobianType
using | Superclass
using | TransformType
using | TransformTypeConstPointer
using | TransformTypePointer
Public Types inherited from elastix::TransformBase< TElastix >
using | CombinationTransformType = itk::AdvancedCombinationTransform<CoordRepType, Self::FixedImageDimension>
using | CommandLineArgumentMapType = Configuration ::CommandLineArgumentMapType
using | CommandLineEntryType = Configuration ::CommandLineEntryType
using | ComponentDescriptionType = ComponentDatabase::ComponentDescriptionType
using | CoordRepType = ElastixBase::CoordRepType
using | DeformationFieldImageType = itk::Image<VectorPixelType, FixedImageDimension>
using | FixedImageType = typename TElastix::FixedImageType
using | InitialTransformType = typename CombinationTransformType::InitialTransformType
using | InputPointType = typename ITKBaseType::InputPointType
using | ITKBaseType = CombinationTransformType
using | ITKRegistrationType = typename RegistrationType::ITKBaseType
using | MovingImageType = typename TElastix::MovingImageType
using | OptimizerType = typename ITKRegistrationType::OptimizerType
using | OutputPointType = typename ITKBaseType::OutputPointType
using | ParameterMapType = typename TElastix::ParameterMapType
using | ParametersType = itk::OptimizerParameters<ValueType>
using | PtrToCreator = ComponentDatabase::PtrToCreator
using | RegistrationType
using | ScalesType = itk::Optimizer::ScalesType
using | Self = TransformBase
using | SpatialJacobianDeterminantImageType = itk::Image<float, FixedImageDimension>
using | SpatialJacobianMatrixImageType
using | Superclass = BaseComponentSE<TElastix>
using | ValueType = double
using | VectorPixelType = itk::Vector<float, FixedImageDimension>
Public Types inherited from elastix::BaseComponentSE< TElastix >
using | ElastixType = TElastix
using | RegistrationType = typename ElastixType::RegistrationBaseType
using | Self = BaseComponentSE
using | Superclass = BaseComponent

## Public Member Functions

int | BeforeAll () override
void | BeforeRegistration () override
| elxClassNameMacro ("SplineKernelTransform")
virtual const char * | GetClassName () const
| ITK_DISALLOW_COPY_AND_MOVE (SplineKernelTransform)
| itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
void | ReadFromFile () override
Public Member Functions inherited from itk::AdvancedCombinationTransform< TScalarType, NDimensions >
void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
const FixedParametersType & | GetFixedParameters () const override
bool | GetHasNonZeroSpatialHessian () const override
bool | GetInverse (Self *inverse) const
void | GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
const TransformTypePointer | GetNthTransform (SizeValueType n) const
NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const override
NumberOfParametersType | GetNumberOfParameters () const override
SizeValueType | GetNumberOfTransforms () const
const ParametersType & | GetParameters () const override
void | GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const override
void | GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const override
TransformCategoryEnum | GetTransformCategory () const override
virtual bool | GetUseAddition () const
virtual bool | GetUseComposition () const
bool | HasNonZeroJacobianOfSpatialHessian () const
bool | IsLinear () const override
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedCombinationTransform)
| itkGetModifiableObjectMacro (CurrentTransform, CurrentTransformType)
| itkGetModifiableObjectMacro (InitialTransform, InitialTransformType)
| itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
void | SetCurrentTransform (CurrentTransformType *_arg)
void | SetFixedParameters (const FixedParametersType &fixedParam) override
void | SetInitialTransform (InitialTransformType *_arg)
void | SetParameters (const ParametersType &param) override
void | SetParametersByValue (const ParametersType &param) override
void | SetUseAddition (bool _arg)
void | SetUseComposition (bool _arg)
OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const override
OutputPointType | TransformPoint (const InputPointType &point) const override
OutputVectorType | TransformVector (const InputVectorType &) const override
OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const override
Public Member Functions inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
virtual bool | GetHasNonZeroJacobianOfSpatialHessian () const
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform)
| itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
Public Member Functions inherited from elastix::TransformBase< TElastix >
int | BeforeAllTransformix ()
void | ComputeAndWriteSpatialJacobianDeterminantImage () const
void | ComputeAndWriteSpatialJacobianMatrixImage () const
SpatialJacobianDeterminantImageType::Pointer | ComputeSpatialJacobianDeterminantImage () const
SpatialJacobianMatrixImageType::Pointer | ComputeSpatialJacobianMatrixImage () const
void | CreateTransformParameterMap (const ParametersType &param, ParameterMapType &parameterMap, const bool includeDerivedTransformParameters=true) const
ITKBaseType * | GetAsITKBaseType ()
const ITKBaseType * | GetAsITKBaseType () const
| ITK_DISALLOW_COPY_AND_MOVE (TransformBase)
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
void | ReadInitialTransformFromFile (const std::string &transformParameterFileName)
void | SetFinalParameters ()
void | SetInitialTransform (InitialTransformType *_arg)
void | SetReadWriteTransformParameters (const bool _arg)
void | SetTransformParameterFileName (const std::string &filename)
template<typename TMesh>
TMesh::Pointer | TransformMesh (const TMesh &mesh) const
void | TransformPoints () const
void | WriteToFile (std::ostream &transformationParameterInfo, const ParametersType &param) const
Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
void | AddTargetCellToIterationInfo (const char *const name)
const Configuration * | GetConfiguration () const
ElastixType * | GetElastix () const
auto & | GetIterationInfoAt (const char *const name)
RegistrationType * | GetRegistration () const
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE)
void | RemoveTargetCellFromIterationInfo (const char *const name)
void | SetConfiguration (const Configuration *_arg)
void | SetElastix (ElastixType *_arg)
Public Member Functions inherited from elastix::BaseComponent
virtual void | AfterEachIteration ()
virtual void | AfterEachIterationBase ()
virtual void | AfterEachResolution ()
virtual void | AfterEachResolutionBase ()
virtual void | AfterRegistration ()
virtual void | BeforeEachResolution ()
virtual void | BeforeEachResolutionBase ()
virtual const char * | elxGetClassName () const
const char * | GetComponentLabel () const
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponent)
| itkTypeMacroNoParent (BaseComponent)
void | SetComponentLabel (const char *label, unsigned int idx)

## Static Public Member Functions

static Pointer | New ()
Static Public Member Functions inherited from itk::AdvancedCombinationTransform< TScalarType, NDimensions >
static Pointer | New ()
Static Public Member Functions inherited from elastix::BaseComponent
template<typename TBaseComponent>
static auto | AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType())
static void | InitializeElastixExecutable ()
static bool | IsElastixLibrary ()

## Protected Types

using | EBKernelTransformType = itk::ElasticBodySplineKernelTransform2<CoordRepType, Self::SpaceDimension>
using | EBRKernelTransformType = itk::ElasticBodyReciprocalSplineKernelTransform2<CoordRepType, Self::SpaceDimension>
using | TPKernelTransformType = itk::ThinPlateSplineKernelTransform2<CoordRepType, Self::SpaceDimension>
using | TPRKernelTransformType = itk::ThinPlateR2LogRSplineKernelTransform2<CoordRepType, Self::SpaceDimension>
using | VKernelTransformType = itk::VolumeSplineKernelTransform2<CoordRepType, Self::SpaceDimension>

## Protected Member Functions

virtual void | DetermineSourceLandmarks ()
virtual bool | DetermineTargetLandmarks ()
void | ReadLandmarkFile (const std::string &filename, PointSetPointer &landmarkPointSet, const bool landmarksInFixedImage)
virtual bool | SetKernelType (const std::string &kernelType)
| SplineKernelTransform ()
| ~SplineKernelTransform () override=default
Protected Member Functions inherited from itk::AdvancedCombinationTransform< TScalarType, NDimensions >
| 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 &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianUseAddition (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianUseAddition (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianUseComposition (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialHessianUseComposition (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianUseAddition (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianUseAddition (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianUseComposition (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void | GetJacobianOfSpatialJacobianUseComposition (const InputPointType &inputPoint, 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 &inputPoint, SpatialHessianType &sh) const
void | GetSpatialHessianNoInitialTransform (const InputPointType &inputPoint, SpatialHessianType &sh) const
void | GetSpatialHessianUseAddition (const InputPointType &inputPoint, SpatialHessianType &sh) const
void | GetSpatialHessianUseComposition (const InputPointType &inputPoint, SpatialHessianType &sh) const
void | GetSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, SpatialJacobianType &sj) const
void | GetSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, SpatialJacobianType &sj) const
void | GetSpatialJacobianUseAddition (const InputPointType &inputPoint, SpatialJacobianType &sj) const
void | GetSpatialJacobianUseComposition (const InputPointType &inputPoint, SpatialJacobianType &sj) const
OutputPointType | TransformPointNoCurrentTransform (const InputPointType &point) const
OutputPointType | TransformPointNoInitialTransform (const InputPointType &point) const
OutputPointType | TransformPointUseAddition (const InputPointType &point) const
OutputPointType | TransformPointUseComposition (const InputPointType &point) const
void | UpdateCombinationMethod ()
| ~AdvancedCombinationTransform () override=default
Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
| AdvancedTransform ()=default
| ~AdvancedTransform () override=default
Protected Member Functions inherited from elastix::TransformBase< TElastix >
void | AutomaticScalesEstimation (ScalesType &scales) const
void | AutomaticScalesEstimationStackTransform (const unsigned int numSubTransforms, ScalesType &scales) const
bool | HasITKTransformParameters () const
| TransformBase ()=default
| ~TransformBase () override=default
Protected Member Functions inherited from elastix::BaseComponentSE< TElastix >
| BaseComponentSE ()=default
| ~BaseComponentSE () override=default
Protected Member Functions inherited from elastix::BaseComponent
| BaseComponent ()=default
virtual | ~BaseComponent ()=default

## Protected Attributes

KernelTransformPointer | m_KernelTransform
Protected Attributes inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
bool | m_HasNonZeroJacobianOfSpatialHessian
bool | m_HasNonZeroSpatialHessian
Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
Configuration::ConstPointer | m_Configuration {}
itk::WeakPointer< TElastix > | m_Elastix {}
RegistrationType * | m_Registration {}

## Private Member Functions

ParameterMapType | CreateDerivedTransformParameterMap () const override

## Private Attributes

| elxOverrideGetSelfMacro
std::string | m_SplineKernelType

## Member Typedef Documentation

## CombinationTransformType

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::CombinationTransformType = typename Superclass2::CombinationTransformType

Definition at line 174 of file elxSplineKernelTransform.h.

## ConstPointer

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 135 of file elxSplineKernelTransform.h.

## CoordRepType

template<class TElastix>

using elastix::TransformBase< TElastix >::CoordRepType

Elastix typedef's.

Definition at line 156 of file elxTransformBase.h.

## EBKernelTransformType

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::EBKernelTransformType = itk::ElasticBodySplineKernelTransform2<CoordRepType, Self::SpaceDimension>

protected

Definition at line 210 of file elxSplineKernelTransform.h.

## EBRKernelTransformType

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::EBRKernelTransformType = itk::ElasticBodyReciprocalSplineKernelTransform2<CoordRepType, Self::SpaceDimension>

protected

Definition at line 211 of file elxSplineKernelTransform.h.

## FixedImageType

template<class TElastix>

using elastix::TransformBase< TElastix >::FixedImageType

Definition at line 157 of file elxTransformBase.h.

## ITKBaseType

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType

Definition at line 173 of file elxSplineKernelTransform.h.

## KernelTransformPointer

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::KernelTransformPointer = typename KernelTransformType::Pointer

Extra typedefs

Definition at line 177 of file elxSplineKernelTransform.h.

## KernelTransformType

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::KernelTransformType

Initial value:
itk::KernelTransform2<typename elx::TransformBase<TElastix>::CoordRepType,
elx::TransformBase<TElastix>::FixedImageDimension>
elastix::TransformBase
This class is the elastix base class for all Transforms.
Definition elxTransformBase.h:138
itk::KernelTransform2
Definition itkKernelTransform2.h:98

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

Definition at line 132 of file elxSplineKernelTransform.h.

## MovingImageType

template<class TElastix>

using elastix::TransformBase< TElastix >::MovingImageType

Definition at line 158 of file elxTransformBase.h.

## ParameterMapType

template<class TElastix>

using elastix::TransformBase< TElastix >::ParameterMapType

Typedef that is used in the elastix dll version.

Definition at line 199 of file elxTransformBase.h.

## Pointer

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::Pointer = itk::SmartPointer<Self>

Definition at line 134 of file elxSplineKernelTransform.h.

## PointSetPointer

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::PointSetPointer = typename PointSetType::Pointer

Definition at line 179 of file elxSplineKernelTransform.h.

## PointSetType

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::PointSetType = typename KernelTransformType::PointSetType

Definition at line 178 of file elxSplineKernelTransform.h.

## Self

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::Self = SplineKernelTransform

Standard ITK-stuff.

Definition at line 124 of file elxSplineKernelTransform.h.

## Superclass1

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::Superclass1

Initial value:
itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordRepType,
elx::TransformBase<TElastix>::FixedImageDimension>
itk::AdvancedCombinationTransform
This class combines two transforms: an 'initial transform' with a 'current transform'.
Definition itkAdvancedCombinationTransform.h:57

Definition at line 125 of file elxSplineKernelTransform.h.

## Superclass2

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::Superclass2 = elx::TransformBase<TElastix>

Definition at line 127 of file elxSplineKernelTransform.h.

## TPKernelTransformType

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::TPKernelTransformType = itk::ThinPlateSplineKernelTransform2<CoordRepType, Self::SpaceDimension>

protected

Definition at line 207 of file elxSplineKernelTransform.h.

## TPRKernelTransformType

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::TPRKernelTransformType = itk::ThinPlateR2LogRSplineKernelTransform2<CoordRepType, Self::SpaceDimension>

protected

Definition at line 208 of file elxSplineKernelTransform.h.

## VKernelTransformType

template<class TElastix>

using elastix::SplineKernelTransform< TElastix >::VKernelTransformType = itk::VolumeSplineKernelTransform2<CoordRepType, Self::SpaceDimension>

protected

Definition at line 209 of file elxSplineKernelTransform.h.

## Constructor & Destructor Documentation

## SplineKernelTransform()

template<class TElastix>

elastix::SplineKernelTransform< TElastix >::SplineKernelTransform | ( |  | ) |

protected

The constructor.

## ~SplineKernelTransform()

template<class TElastix>

elastix::SplineKernelTransform< TElastix >::~SplineKernelTransform | ( |  | ) |

override protected default

The destructor.

## Member Function Documentation

## BeforeAll()

template<class TElastix>

int elastix::SplineKernelTransform< TElastix >::BeforeAll | ( |  | ) |

override 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.

## BeforeRegistration()

template<class TElastix>

void elastix::SplineKernelTransform< TElastix >::BeforeRegistration | ( |  | ) |

override 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.

## CreateDerivedTransformParameterMap()

template<class TElastix>

ParameterMapType elastix::SplineKernelTransform< TElastix >::CreateDerivedTransformParameterMap | ( |  | ) | const

override private virtual

Creates a map of the parameters specific for this (derived) transform type.

Implements elastix::TransformBase< TElastix >.

## DetermineSourceLandmarks()

template<class TElastix>

virtual void elastix::SplineKernelTransform< TElastix >::DetermineSourceLandmarks | ( |  | ) |

protected virtual

Read source landmarks from fp file

- Try reading -fp file

## DetermineTargetLandmarks()

template<class TElastix>

virtual bool elastix::SplineKernelTransform< TElastix >::DetermineTargetLandmarks | ( |  | ) |

protected virtual

Read target landmarks from mp file or load identity.

- Try reading -mp file
- If no -mp file was given, place landmarks as identity.

## elxClassNameMacro()

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")

## GetClassName()

template<class TElastix>

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

virtual

Run-time type information (and related methods).

Reimplemented from itk::AdvancedCombinationTransform< TScalarType, NDimensions >.

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TElastix>

elastix::SplineKernelTransform< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | SplineKernelTransform< TElastix > |  | ) |

## itkStaticConstMacro()

template<class TElastix>

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

Dimension of the domain space.

## New()

template<class TElastix>

Pointer elastix::SplineKernelTransform< TElastix >::New | ( |  | ) |

static

Method for creation through the object factory.

## ReadFromFile()

template<class TElastix>

void elastix::SplineKernelTransform< TElastix >::ReadFromFile | ( |  | ) |

override virtual

Function to read transform-parameters from a file.

Reimplemented from elastix::TransformBase< TElastix >.

## ReadLandmarkFile()

template<class TElastix>

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

protected

General function to read all landmarks.

## SetKernelType()

template<class TElastix>

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

protected virtual

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

## Field Documentation

## elxOverrideGetSelfMacro

template<class TElastix>

elastix::SplineKernelTransform< TElastix >::elxOverrideGetSelfMacro

private

Definition at line 240 of file elxSplineKernelTransform.h.

## m_KernelTransform

template<class TElastix>

KernelTransformPointer elastix::SplineKernelTransform< TElastix >::m_KernelTransform

protected

The itk kernel transform.

Definition at line 237 of file elxSplineKernelTransform.h.

## m_SplineKernelType

template<class TElastix>

std::string elastix::SplineKernelTransform< TElastix >::m_SplineKernelType

private

Definition at line 246 of file elxSplineKernelTransform.h.

Generated on 1768596610 for elastix by 1.15.0 |