![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <elxSplineKernelTransform.h>
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
Protected Types | |
typedef ElasticBodySplineKernelTransform2 < CoordRepType, itkGetStaticConstMacro(SpaceDimension) > | EBKernelTransformType |
typedef ElasticBodyReciprocalSplineKernelTransform2 < CoordRepType, itkGetStaticConstMacro(SpaceDimension) > | EBRKernelTransformType |
typedef ThinPlateSplineKernelTransform2 < CoordRepType, itkGetStaticConstMacro(SpaceDimension) > | TPKernelTransformType |
typedef ThinPlateR2LogRSplineKernelTransform2 < CoordRepType, itkGetStaticConstMacro(SpaceDimension) > | TPRKernelTransformType |
typedef VolumeSplineKernelTransform2 < CoordRepType, itkGetStaticConstMacro(SpaceDimension) > | VKernelTransformType |
Private Member Functions | |
void | operator= (const Self &) |
SplineKernelTransform (const Self &) | |
Private Attributes | |
std::string | m_SplineKernelType |
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:
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.
-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: 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 113 of file elxSplineKernelTransform.h.
typedef Superclass2::CombinationTransformType elastix::SplineKernelTransform< TElastix >::CombinationTransformType |
Definition at line 175 of file elxSplineKernelTransform.h.
typedef Superclass2::ConfigurationPointer elastix::SplineKernelTransform< TElastix >::ConfigurationPointer |
Definition at line 168 of file elxSplineKernelTransform.h.
typedef Superclass2::ConfigurationType elastix::SplineKernelTransform< TElastix >::ConfigurationType |
Definition at line 167 of file elxSplineKernelTransform.h.
typedef SmartPointer<const Self> elastix::SplineKernelTransform< TElastix >::ConstPointer |
Definition at line 134 of file elxSplineKernelTransform.h.
typedef Superclass2::CoordRepType elastix::SplineKernelTransform< TElastix >::CoordRepType |
Definition at line 171 of file elxSplineKernelTransform.h.
|
protected |
Definition at line 216 of file elxSplineKernelTransform.h.
|
protected |
Definition at line 218 of file elxSplineKernelTransform.h.
typedef Superclass2::ElastixPointer elastix::SplineKernelTransform< TElastix >::ElastixPointer |
Definition at line 166 of file elxSplineKernelTransform.h.
typedef Superclass2::ElastixType elastix::SplineKernelTransform< TElastix >::ElastixType |
Typedef's from the TransformBase class.
Definition at line 165 of file elxSplineKernelTransform.h.
typedef Superclass2::FixedImageType elastix::SplineKernelTransform< TElastix >::FixedImageType |
Definition at line 172 of file elxSplineKernelTransform.h.
typedef Superclass1::InputCovariantVectorType elastix::SplineKernelTransform< TElastix >::InputCovariantVectorType |
Definition at line 157 of file elxSplineKernelTransform.h.
typedef Superclass1::InputPointType elastix::SplineKernelTransform< TElastix >::InputPointType |
Definition at line 161 of file elxSplineKernelTransform.h.
typedef Superclass1::InputVectorType elastix::SplineKernelTransform< TElastix >::InputVectorType |
Definition at line 155 of file elxSplineKernelTransform.h.
typedef Superclass1::InputVnlVectorType elastix::SplineKernelTransform< TElastix >::InputVnlVectorType |
Definition at line 159 of file elxSplineKernelTransform.h.
typedef Superclass2::ITKBaseType elastix::SplineKernelTransform< TElastix >::ITKBaseType |
Definition at line 174 of file elxSplineKernelTransform.h.
typedef Superclass1::JacobianType elastix::SplineKernelTransform< TElastix >::JacobianType |
Definition at line 154 of file elxSplineKernelTransform.h.
typedef KernelTransformType::Pointer elastix::SplineKernelTransform< TElastix >::KernelTransformPointer |
Extra typedefs
Definition at line 178 of file elxSplineKernelTransform.h.
typedef 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 132 of file elxSplineKernelTransform.h.
typedef Superclass2::MovingImageType elastix::SplineKernelTransform< TElastix >::MovingImageType |
Definition at line 173 of file elxSplineKernelTransform.h.
typedef Superclass1::OutputCovariantVectorType elastix::SplineKernelTransform< TElastix >::OutputCovariantVectorType |
Definition at line 158 of file elxSplineKernelTransform.h.
typedef Superclass1::OutputPointType elastix::SplineKernelTransform< TElastix >::OutputPointType |
Definition at line 162 of file elxSplineKernelTransform.h.
typedef Superclass1::OutputVectorType elastix::SplineKernelTransform< TElastix >::OutputVectorType |
Definition at line 156 of file elxSplineKernelTransform.h.
typedef Superclass1::OutputVnlVectorType elastix::SplineKernelTransform< TElastix >::OutputVnlVectorType |
Definition at line 160 of file elxSplineKernelTransform.h.
typedef Superclass1::ParametersType elastix::SplineKernelTransform< TElastix >::ParametersType |
Definition at line 153 of file elxSplineKernelTransform.h.
typedef SmartPointer<Self> elastix::SplineKernelTransform< TElastix >::Pointer |
Definition at line 133 of file elxSplineKernelTransform.h.
typedef PointSetType::Pointer elastix::SplineKernelTransform< TElastix >::PointSetPointer |
Definition at line 180 of file elxSplineKernelTransform.h.
typedef KernelTransformType::PointSetType elastix::SplineKernelTransform< TElastix >::PointSetType |
Definition at line 179 of file elxSplineKernelTransform.h.
typedef Superclass2::RegistrationPointer elastix::SplineKernelTransform< TElastix >::RegistrationPointer |
Definition at line 170 of file elxSplineKernelTransform.h.
typedef Superclass2::RegistrationType elastix::SplineKernelTransform< TElastix >::RegistrationType |
Definition at line 169 of file elxSplineKernelTransform.h.
typedef Superclass1::ScalarType elastix::SplineKernelTransform< TElastix >::ScalarType |
Typedefs inherited from the superclass.
Definition at line 152 of file elxSplineKernelTransform.h.
typedef SplineKernelTransform elastix::SplineKernelTransform< TElastix >::Self |
Standard ITK-stuff.
Definition at line 121 of file elxSplineKernelTransform.h.
typedef AdvancedCombinationTransform< typename elx::TransformBase<TElastix>::CoordRepType, elx::TransformBase<TElastix>::FixedImageDimension > elastix::SplineKernelTransform< TElastix >::Superclass1 |
Definition at line 124 of file elxSplineKernelTransform.h.
typedef elx::TransformBase<TElastix> elastix::SplineKernelTransform< TElastix >::Superclass2 |
Definition at line 125 of file elxSplineKernelTransform.h.
|
protected |
Definition at line 207 of file elxSplineKernelTransform.h.
|
protected |
Definition at line 212 of file elxSplineKernelTransform.h.
|
protected |
Definition at line 214 of file elxSplineKernelTransform.h.
|
protected |
The constructor.
|
inlineprotectedvirtual |
The destructor.
Definition at line 207 of file elxSplineKernelTransform.h.
|
private |
The private constructor.
|
virtual |
Execute stuff before everything else:
Reimplemented from elastix::BaseComponent.
|
virtual |
Execute stuff before the actual registration:
Reimplemented from elastix::BaseComponent.
|
protectedvirtual |
Read source landmarks from fp file
|
protectedvirtual |
Read target landmarks from mp file or load identity.
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")
|
virtual |
Run-time type information (and related methods).
Reimplemented from elastix::TransformBase< TElastix >.
elastix::SplineKernelTransform< TElastix >::itkStaticConstMacro | ( | SpaceDimension | , |
unsigned | int, | ||
Superclass2::FixedImageDimension | |||
) |
Dimension of the domain space.
|
static |
Method for creation through the object factory.
|
private |
The private copy constructor.
|
virtual |
Function to read transform-parameters from a file.
Reimplemented from elastix::TransformBase< TElastix >.
|
protectedvirtual |
General function to read all landmarks.
|
protectedvirtual |
Create an instance of a kernel transform. Returns false if the kernelType is unknown.
|
virtual |
Function to write transform-parameters to a file.
Reimplemented from elastix::TransformBase< TElastix >.
|
protected |
The itk kernel transform.
Definition at line 243 of file elxSplineKernelTransform.h.
|
private |
Definition at line 252 of file elxSplineKernelTransform.h.
Generated on 05-12-2013 for elastix by ![]() |
![]() |