![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <elxAdvancedBSplineTransform.h>
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
Private Member Functions | |
AdvancedBSplineTransform (const Self &) | |
unsigned int | InitializeBSplineTransform () |
void | operator= (const Self &) |
Private Attributes | |
BSplineTransformBasePointer | m_BSplineTransform |
bool | m_Cyclic |
GridScheduleComputerPointer | m_GridScheduleComputer |
GridUpsamplerPointer | m_GridUpsampler |
unsigned int | m_SplineOrder |
A transform based on the itkAdvancedBSplineTransform.
This transform is a B-spline transformation, commonly used for nonrigid registration.
The parameters used in this class are:
Transform: Select this transform as follows:
(Transform "BSplineTransform")
BSplineTransformSplineOrder: choose a B-spline order 1,2, or 3.
example: (BSplineTransformSplineOrder 3)
Default value: 3 (cubic B-splines).
FinalGridSpacingInVoxels: the grid spacing of the B-spline transform for each dimension.
example: (FinalGridSpacingInVoxels 8.0 8.0 8.0)
If only one argument is given, that factor is used for each dimension. The spacing is not in millimeters, but in "voxel size units". The default is 16.0 in every dimension.
FinalGridSpacingInPhysicalUnits: the grid spacing of the B-spline transform for each dimension.
example: (FinalGridSpacingInPhysicalUnits 8.0 8.0 8.0)
If only one argument is given, that factor is used for each dimension. The spacing is specified in millimeters. If not specified, the FinalGridSpacingInVoxels is used, or the FinalGridSpacing, to compute a FinalGridSpacingInPhysicalUnits. If those are not specified, the default value for FinalGridSpacingInVoxels is used to compute a FinalGridSpacingInPhysicalUnits.
GridSpacingSchedule: the grid spacing downsampling factors for the B-spline transform for each dimension and each resolution.
example: (GridSpacingSchedule 4.0 4.0 2.0 2.0 1.0 1.0)
Which is an example for a 2D image, using 3 resolutions.
For convenience, you may also specify only one value for each resolution:
example: (GridSpacingSchedule 4.0 2.0 1.0 )
which is equivalent to the example above.
PassiveEdgeWidth: the width of a band of control points at the border of the B-spline coefficient image that should remain passive during optimisation.
Can be specified for each resolution.
example: (PassiveEdgeWidth 0 1 2)
The default is zero for all resolutions. A value of 4 will avoid all deformations at the edge of the image. Make sure that 2*PassiveEdgeWidth < ControlPointGridSize in each dimension.
UseCyclicTransform: use the cyclic version of the B-spline transform which ensures that the B-spline polynomials wrap around in the slowest varying dimension. This is useful for dynamic imaging data in which the motion is assumed to be cyclic, for example in ECG-gated or respiratory gated CTA. For more information see the paper: Nonrigid registration of dynamic medical imaging data using nD+t B-splines and a groupwise optimization approach, C.T. Metz, S. Klein, M. Schaap, T. van Walsum and W.J. Niessen, Medical Image Analysis, in press.
The transform parameters necessary for transformix, additionally defined by this class, are:
GridSize: stores the size of the B-spline grid.
example: (GridSize 16 16 16)
GridIndex: stores the index of the B-spline grid.
example: (GridIndex 0 0 0)
GridSpacing: stores the spacing of the B-spline grid.
example: (GridSpacing 16.0 16.0 16.0)
GridOrigin: stores the origin of the B-spline grid.
example: (GridOrigin 0.0 0.0 0.0)
GridDirection: stores the direction cosines of the B-spline grid.
example: (GridDirection 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.1)
BSplineTransformSplineOrder: stores the B-spline order 1,2, or 3.
example: (BSplineTransformSplineOrder 3)
Default value: 3 (cubic B-splines).
UseCyclicTransform: use the cyclic version of the B-spline transform which ensures that the B-spline polynomials wrap around in the slowest varying dimension. This is useful for dynamic imaging data in which the motion is assumed to be cyclic, for example in ECG-gated or respiratory gated CTA. For more information see the paper: Nonrigid registration of dynamic medical imaging data using nD+t B-splines and a groupwise optimization approach, C.T. Metz, S. Klein, M. Schaap, T. van Walsum and W.J. Niessen, Medical Image Analysis, in press.
Definition at line 103 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::Pointer elastix::AdvancedBSplineTransform< TElastix >::BSplineTransformBasePointer |
Definition at line 143 of file elxAdvancedBSplineTransform.h.
typedef itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > elastix::AdvancedBSplineTransform< TElastix >::BSplineTransformBaseType |
The ITK-class that provides most of the functionality, and that is set as the "CurrentTransform" in the CombinationTransform.
Definition at line 142 of file elxAdvancedBSplineTransform.h.
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( SpaceDimension ), 3 > elastix::AdvancedBSplineTransform< TElastix >::BSplineTransformCubicType |
Definition at line 157 of file elxAdvancedBSplineTransform.h.
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( SpaceDimension ), 1 > elastix::AdvancedBSplineTransform< TElastix >::BSplineTransformLinearType |
Typedef for supported BSplineTransform types.
Definition at line 149 of file elxAdvancedBSplineTransform.h.
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( SpaceDimension ), 2 > elastix::AdvancedBSplineTransform< TElastix >::BSplineTransformQuadraticType |
Definition at line 153 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::CombinationTransformType elastix::AdvancedBSplineTransform< TElastix >::CombinationTransformType |
Definition at line 211 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::ConfigurationPointer elastix::AdvancedBSplineTransform< TElastix >::ConfigurationPointer |
Definition at line 204 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::ConfigurationType elastix::AdvancedBSplineTransform< TElastix >::ConfigurationType |
Definition at line 203 of file elxAdvancedBSplineTransform.h.
typedef itk::SmartPointer< const Self > elastix::AdvancedBSplineTransform< TElastix >::ConstPointer |
Definition at line 120 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::ContinuousIndexType elastix::AdvancedBSplineTransform< TElastix >::ContinuousIndexType |
Definition at line 196 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::CoordRepType elastix::AdvancedBSplineTransform< TElastix >::CoordRepType |
Definition at line 207 of file elxAdvancedBSplineTransform.h.
typedef itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( SpaceDimension ), 3 > elastix::AdvancedBSplineTransform< TElastix >::CyclicBSplineTransformCubicType |
Definition at line 169 of file elxAdvancedBSplineTransform.h.
typedef itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( SpaceDimension ), 1 > elastix::AdvancedBSplineTransform< TElastix >::CyclicBSplineTransformLinearType |
Definition at line 161 of file elxAdvancedBSplineTransform.h.
typedef itk::CyclicBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( SpaceDimension ), 2 > elastix::AdvancedBSplineTransform< TElastix >::CyclicBSplineTransformQuadraticType |
Definition at line 165 of file elxAdvancedBSplineTransform.h.
typedef itk::CyclicGridScheduleComputer< CoordRepType, SpaceDimension > elastix::AdvancedBSplineTransform< TElastix >::CyclicGridScheduleComputerType |
Definition at line 217 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::DirectionType elastix::AdvancedBSplineTransform< TElastix >::DirectionType |
Definition at line 194 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::ElastixPointer elastix::AdvancedBSplineTransform< TElastix >::ElastixPointer |
Definition at line 202 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::ElastixType elastix::AdvancedBSplineTransform< TElastix >::ElastixType |
Typedef's from TransformBase.
Definition at line 201 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::FixedImageType elastix::AdvancedBSplineTransform< TElastix >::FixedImageType |
Definition at line 208 of file elxAdvancedBSplineTransform.h.
typedef GridScheduleComputerType::Pointer elastix::AdvancedBSplineTransform< TElastix >::GridScheduleComputerPointer |
Definition at line 218 of file elxAdvancedBSplineTransform.h.
typedef itk::GridScheduleComputer< CoordRepType, SpaceDimension > elastix::AdvancedBSplineTransform< TElastix >::GridScheduleComputerType |
Typedef's for the GridScheduleComputer and the UpsampleBSplineParametersFilter.
Definition at line 215 of file elxAdvancedBSplineTransform.h.
typedef GridScheduleComputerType ::VectorGridSpacingFactorType elastix::AdvancedBSplineTransform< TElastix >::GridScheduleType |
Definition at line 220 of file elxAdvancedBSplineTransform.h.
typedef GridUpsamplerType::Pointer elastix::AdvancedBSplineTransform< TElastix >::GridUpsamplerPointer |
Definition at line 223 of file elxAdvancedBSplineTransform.h.
typedef itk::UpsampleBSplineParametersFilter< ParametersType, ImageType > elastix::AdvancedBSplineTransform< TElastix >::GridUpsamplerType |
Definition at line 222 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::ImagePointer elastix::AdvancedBSplineTransform< TElastix >::ImagePointer |
Definition at line 188 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::ImageType elastix::AdvancedBSplineTransform< TElastix >::ImageType |
Definition at line 187 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::IndexType elastix::AdvancedBSplineTransform< TElastix >::IndexType |
Definition at line 190 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::InputCovariantVectorType elastix::AdvancedBSplineTransform< TElastix >::InputCovariantVectorType |
Definition at line 178 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::InputPointType elastix::AdvancedBSplineTransform< TElastix >::InputPointType |
Definition at line 182 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::InputVectorType elastix::AdvancedBSplineTransform< TElastix >::InputVectorType |
Definition at line 176 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::InputVnlVectorType elastix::AdvancedBSplineTransform< TElastix >::InputVnlVectorType |
Definition at line 180 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::ITKBaseType elastix::AdvancedBSplineTransform< TElastix >::ITKBaseType |
Definition at line 210 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::JacobianType elastix::AdvancedBSplineTransform< TElastix >::JacobianType |
Definition at line 175 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::MovingImageType elastix::AdvancedBSplineTransform< TElastix >::MovingImageType |
Definition at line 209 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::NumberOfParametersType elastix::AdvancedBSplineTransform< TElastix >::NumberOfParametersType |
Definition at line 174 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::OriginType elastix::AdvancedBSplineTransform< TElastix >::OriginType |
Definition at line 193 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::OutputCovariantVectorType elastix::AdvancedBSplineTransform< TElastix >::OutputCovariantVectorType |
Definition at line 179 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::OutputPointType elastix::AdvancedBSplineTransform< TElastix >::OutputPointType |
Definition at line 183 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::OutputVectorType elastix::AdvancedBSplineTransform< TElastix >::OutputVectorType |
Definition at line 177 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::OutputVnlVectorType elastix::AdvancedBSplineTransform< TElastix >::OutputVnlVectorType |
Definition at line 181 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::ParameterIndexArrayType elastix::AdvancedBSplineTransform< TElastix >::ParameterIndexArrayType |
Definition at line 198 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::ParameterMapType elastix::AdvancedBSplineTransform< TElastix >::ParameterMapType |
Typedef that is used in the elastix dll version.
Definition at line 226 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::ParametersType elastix::AdvancedBSplineTransform< TElastix >::ParametersType |
Definition at line 173 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::PixelType elastix::AdvancedBSplineTransform< TElastix >::PixelType |
Typedef's specific for the BSplineTransform.
Definition at line 186 of file elxAdvancedBSplineTransform.h.
typedef itk::SmartPointer< Self > elastix::AdvancedBSplineTransform< TElastix >::Pointer |
Definition at line 119 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::RegionType elastix::AdvancedBSplineTransform< TElastix >::RegionType |
Definition at line 189 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::RegistrationPointer elastix::AdvancedBSplineTransform< TElastix >::RegistrationPointer |
Definition at line 206 of file elxAdvancedBSplineTransform.h.
typedef Superclass2::RegistrationType elastix::AdvancedBSplineTransform< TElastix >::RegistrationType |
Definition at line 205 of file elxAdvancedBSplineTransform.h.
typedef Superclass1::ScalarType elastix::AdvancedBSplineTransform< TElastix >::ScalarType |
Typedefs inherited from the superclass.
Definition at line 172 of file elxAdvancedBSplineTransform.h.
typedef AdvancedBSplineTransform elastix::AdvancedBSplineTransform< TElastix >::Self |
Standard ITK-stuff.
Definition at line 114 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::SizeType elastix::AdvancedBSplineTransform< TElastix >::SizeType |
Definition at line 191 of file elxAdvancedBSplineTransform.h.
typedef BSplineTransformBaseType::SpacingType elastix::AdvancedBSplineTransform< TElastix >::SpacingType |
Definition at line 192 of file elxAdvancedBSplineTransform.h.
typedef itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > elastix::AdvancedBSplineTransform< TElastix >::Superclass1 |
Definition at line 117 of file elxAdvancedBSplineTransform.h.
typedef elx::TransformBase< TElastix > elastix::AdvancedBSplineTransform< TElastix >::Superclass2 |
Definition at line 118 of file elxAdvancedBSplineTransform.h.
|
protected |
The constructor.
|
inlineprotectedvirtual |
The destructor.
Definition at line 289 of file elxAdvancedBSplineTransform.h.
|
private |
The private constructor.
|
virtual |
Execute stuff before anything else is done:
Reimplemented from elastix::BaseComponent.
|
virtual |
Execute stuff before each new pyramid resolution:
Reimplemented from elastix::BaseComponent.
|
virtual |
Execute stuff before the actual registration:
Reimplemented from elastix::BaseComponent.
|
virtual |
Function to create transform-parameters map. Creates the TransformParametersmap as a vector and if wanted also as a deformation field.
Reimplemented from elastix::TransformBase< TElastix >.
elastix::AdvancedBSplineTransform< TElastix >::elxClassNameMacro | ( | "BSplineTransform" | ) |
Name of this class. Use this name in the parameter file to select this specific transform.
example: (Transform "BSplineTransform")
|
virtual |
Run-time type information (and related methods).
Reimplemented from elastix::TransformBase< TElastix >.
|
virtual |
Method to increase the density of the B-spline grid.
|
private |
Initialize the right B-spline transform based on the spline order and periodicity.
|
virtual |
Method to set the initial B-spline grid and initialize the parameters (to 0).
elastix::AdvancedBSplineTransform< TElastix >::itkStaticConstMacro | ( | SpaceDimension | , |
unsigned | int, | ||
Superclass2::FixedImageDimension | |||
) |
Dimension of the fixed image.
|
static |
Method for creation through the object factory.
|
private |
The private copy constructor.
|
protectedvirtual |
Read user-specified grid spacing and call the itkGridScheduleComputer.
|
virtual |
Function to read transform-parameters from a file.
Reimplemented from elastix::TransformBase< TElastix >.
|
virtual |
Set the scales of the edge B-spline coefficients to zero.
|
virtual |
Function to write transform-parameters to a file.
Reimplemented from elastix::TransformBase< TElastix >.
|
private |
Private variables.
Definition at line 302 of file elxAdvancedBSplineTransform.h.
|
private |
Definition at line 308 of file elxAdvancedBSplineTransform.h.
|
private |
Definition at line 303 of file elxAdvancedBSplineTransform.h.
|
private |
Definition at line 304 of file elxAdvancedBSplineTransform.h.
|
private |
Variables to remember order and periodicity of B-spline transform.
Definition at line 307 of file elxAdvancedBSplineTransform.h.
Generated on 27-04-2014 for elastix by ![]() |
![]() |