![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <elxBSplineStackTransform.h>
A B-spline transform based on the itkStackTransform.
This transform is a B-spline transformation, with for every time point a separate D-1 dimensional B-spline transform. Calls to TransformPoint and GetJacobian are redirected to the appropriate sub transform based on the last dimension (time) index.
This transform uses the size, spacing and origin of the last dimension of the fixed image to set the number of sub transforms the origin of the first transform and the spacing between the transforms.
When supplying the B-spline parameters (grid) make sure to provide dimension - 1 elements.
The parameters used in this class are:
Transform: Select this transform as follows:
(Transform "BSplineStackTransform")
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.
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).
StackSpacing: stores the spacing between the sub transforms.
exanoke: (StackSpacing 1.0)
StackOrigin: stores the origin of the first sub transform.
exanoke: (StackOrigin 0.0)
NumberOfSubTransforms: stores the number of sub transforms.
exanoke: (NumberOfSubTransforms 10)
Definition at line 110 of file elxBSplineStackTransform.h.
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
Private Member Functions | |
BSplineStackTransform (const Self &) | |
unsigned int | InitializeBSplineTransform () |
void | operator= (const Self &) |
typedef BSplineStackTransformType::Pointer elastix::BSplineStackTransform< TElastix >::BSplineStackTransformPointer |
Definition at line 164 of file elxBSplineStackTransform.h.
typedef itk::StackTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( SpaceDimension ), itkGetStaticConstMacro( SpaceDimension ) > elastix::BSplineStackTransform< TElastix >::BSplineStackTransformType |
Typedef for stack transform.
Definition at line 163 of file elxBSplineStackTransform.h.
typedef BSplineTransformBaseType::Pointer elastix::BSplineStackTransform< TElastix >::BSplineTransformBasePointer |
Definition at line 151 of file elxBSplineStackTransform.h.
typedef itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( SpaceDimension ) > elastix::BSplineStackTransform< TElastix >::BSplineTransformBaseType |
The ITK-class that provides most of the functionality, and that is set as the "CurrentTransform" in the CombinationTransform.
Definition at line 150 of file elxBSplineStackTransform.h.
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( ReducedSpaceDimension ), 3 > elastix::BSplineStackTransform< TElastix >::BSplineTransformCubicType |
Definition at line 178 of file elxBSplineStackTransform.h.
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( ReducedSpaceDimension ), 1 > elastix::BSplineStackTransform< TElastix >::BSplineTransformLinearType |
Typedef for supported BSplineTransform types.
Definition at line 170 of file elxBSplineStackTransform.h.
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( ReducedSpaceDimension ), 2 > elastix::BSplineStackTransform< TElastix >::BSplineTransformQuadraticType |
Definition at line 174 of file elxBSplineStackTransform.h.
typedef Superclass2::CombinationTransformType elastix::BSplineStackTransform< TElastix >::CombinationTransformType |
Definition at line 206 of file elxBSplineStackTransform.h.
typedef Superclass2::ConfigurationPointer elastix::BSplineStackTransform< TElastix >::ConfigurationPointer |
Definition at line 199 of file elxBSplineStackTransform.h.
typedef Superclass2::ConfigurationType elastix::BSplineStackTransform< TElastix >::ConfigurationType |
Definition at line 198 of file elxBSplineStackTransform.h.
typedef itk::SmartPointer< const Self > elastix::BSplineStackTransform< TElastix >::ConstPointer |
Definition at line 127 of file elxBSplineStackTransform.h.
typedef Superclass2::CoordRepType elastix::BSplineStackTransform< TElastix >::CoordRepType |
Definition at line 202 of file elxBSplineStackTransform.h.
typedef BSplineTransformBaseType::DirectionType elastix::BSplineStackTransform< TElastix >::DirectionType |
Definition at line 193 of file elxBSplineStackTransform.h.
typedef Superclass2::ElastixPointer elastix::BSplineStackTransform< TElastix >::ElastixPointer |
Definition at line 197 of file elxBSplineStackTransform.h.
typedef Superclass2::ElastixType elastix::BSplineStackTransform< TElastix >::ElastixType |
Typedef's from TransformBase.
Definition at line 196 of file elxBSplineStackTransform.h.
typedef Superclass2::FixedImageType elastix::BSplineStackTransform< TElastix >::FixedImageType |
Definition at line 203 of file elxBSplineStackTransform.h.
typedef GridScheduleComputerType::Pointer elastix::BSplineStackTransform< TElastix >::GridScheduleComputerPointer |
Definition at line 222 of file elxBSplineStackTransform.h.
typedef itk::GridScheduleComputer< CoordRepType, ReducedSpaceDimension > elastix::BSplineStackTransform< TElastix >::GridScheduleComputerType |
Typedef's for the GridScheduleComputer and the UpsampleBSplineParametersFilter.
Definition at line 221 of file elxBSplineStackTransform.h.
typedef GridScheduleComputerType ::VectorGridSpacingFactorType elastix::BSplineStackTransform< TElastix >::GridScheduleType |
Definition at line 224 of file elxBSplineStackTransform.h.
typedef GridUpsamplerType::Pointer elastix::BSplineStackTransform< TElastix >::GridUpsamplerPointer |
Definition at line 227 of file elxBSplineStackTransform.h.
typedef itk::UpsampleBSplineParametersFilter< ParametersType, ReducedDimensionImageType > elastix::BSplineStackTransform< TElastix >::GridUpsamplerType |
Definition at line 226 of file elxBSplineStackTransform.h.
typedef BSplineTransformBaseType::ImagePointer elastix::BSplineStackTransform< TElastix >::ImagePointer |
Definition at line 187 of file elxBSplineStackTransform.h.
typedef BSplineTransformBaseType::ImageType elastix::BSplineStackTransform< TElastix >::ImageType |
Definition at line 186 of file elxBSplineStackTransform.h.
typedef BSplineTransformBaseType::IndexType elastix::BSplineStackTransform< TElastix >::IndexType |
Definition at line 189 of file elxBSplineStackTransform.h.
typedef Superclass2::ITKBaseType elastix::BSplineStackTransform< TElastix >::ITKBaseType |
Definition at line 205 of file elxBSplineStackTransform.h.
typedef Superclass2::MovingImageType elastix::BSplineStackTransform< TElastix >::MovingImageType |
Definition at line 204 of file elxBSplineStackTransform.h.
typedef Superclass1::NumberOfParametersType elastix::BSplineStackTransform< TElastix >::NumberOfParametersType |
Definition at line 182 of file elxBSplineStackTransform.h.
typedef BSplineTransformBaseType::OriginType elastix::BSplineStackTransform< TElastix >::OriginType |
Definition at line 192 of file elxBSplineStackTransform.h.
typedef Superclass1::ParametersType elastix::BSplineStackTransform< TElastix >::ParametersType |
Typedefs inherited from the superclass.
Definition at line 181 of file elxBSplineStackTransform.h.
typedef BSplineTransformBaseType::PixelType elastix::BSplineStackTransform< TElastix >::PixelType |
Typedef's specific for the BSplineTransform.
Definition at line 185 of file elxBSplineStackTransform.h.
typedef itk::SmartPointer< Self > elastix::BSplineStackTransform< TElastix >::Pointer |
Definition at line 126 of file elxBSplineStackTransform.h.
typedef ReducedDimensionBSplineTransformBaseType::Pointer elastix::BSplineStackTransform< TElastix >::ReducedDimensionBSplineTransformBasePointer |
Definition at line 157 of file elxBSplineStackTransform.h.
typedef itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( ReducedSpaceDimension ) > elastix::BSplineStackTransform< TElastix >::ReducedDimensionBSplineTransformBaseType |
The ITK-class for the sub transforms, which have a reduced dimension.
Definition at line 156 of file elxBSplineStackTransform.h.
typedef ReducedDimensionImageType::DirectionType elastix::BSplineStackTransform< TElastix >::ReducedDimensionDirectionType |
Definition at line 216 of file elxBSplineStackTransform.h.
typedef itk::Image< PixelType, itkGetStaticConstMacro( ReducedSpaceDimension ) > elastix::BSplineStackTransform< TElastix >::ReducedDimensionImageType |
Reduced dimension image typedefs.
Definition at line 210 of file elxBSplineStackTransform.h.
typedef ReducedDimensionRegionType::IndexType elastix::BSplineStackTransform< TElastix >::ReducedDimensionIndexType |
Definition at line 214 of file elxBSplineStackTransform.h.
typedef ReducedDimensionImageType::PointType elastix::BSplineStackTransform< TElastix >::ReducedDimensionOriginType |
Definition at line 217 of file elxBSplineStackTransform.h.
typedef itk::ImageRegion< itkGetStaticConstMacro( ReducedSpaceDimension ) > elastix::BSplineStackTransform< TElastix >::ReducedDimensionRegionType |
Definition at line 212 of file elxBSplineStackTransform.h.
typedef ReducedDimensionRegionType::SizeType elastix::BSplineStackTransform< TElastix >::ReducedDimensionSizeType |
Definition at line 213 of file elxBSplineStackTransform.h.
typedef ReducedDimensionImageType::SpacingType elastix::BSplineStackTransform< TElastix >::ReducedDimensionSpacingType |
Definition at line 215 of file elxBSplineStackTransform.h.
typedef BSplineTransformBaseType::RegionType elastix::BSplineStackTransform< TElastix >::RegionType |
Definition at line 188 of file elxBSplineStackTransform.h.
typedef Superclass2::RegistrationPointer elastix::BSplineStackTransform< TElastix >::RegistrationPointer |
Definition at line 201 of file elxBSplineStackTransform.h.
typedef Superclass2::RegistrationType elastix::BSplineStackTransform< TElastix >::RegistrationType |
Definition at line 200 of file elxBSplineStackTransform.h.
typedef BSplineStackTransform elastix::BSplineStackTransform< TElastix >::Self |
Standard ITK-stuff.
Definition at line 121 of file elxBSplineStackTransform.h.
typedef BSplineTransformBaseType::SizeType elastix::BSplineStackTransform< TElastix >::SizeType |
Definition at line 190 of file elxBSplineStackTransform.h.
typedef BSplineTransformBaseType::SpacingType elastix::BSplineStackTransform< TElastix >::SpacingType |
Definition at line 191 of file elxBSplineStackTransform.h.
typedef itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > elastix::BSplineStackTransform< TElastix >::Superclass1 |
Definition at line 124 of file elxBSplineStackTransform.h.
typedef elx::TransformBase< TElastix > elastix::BSplineStackTransform< TElastix >::Superclass2 |
Definition at line 125 of file elxBSplineStackTransform.h.
|
protected |
The constructor.
|
inlineprotectedvirtual |
The destructor.
Definition at line 287 of file elxBSplineStackTransform.h.
|
private |
The private constructor and copy 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.
elastix::BSplineStackTransform< TElastix >::elxClassNameMacro | ( | "BSplineStackTransform< TElastix >" | ) |
Name of this class. Use this name in the parameter file to select this specific transform.
example: (Transform "BSplineStackTransform")
|
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.
|
virtual |
Method to set the initial B-spline grid and grid scheduler and initialize the parameters (to 0).
elastix::BSplineStackTransform< TElastix >::itkStaticConstMacro | ( | SpaceDimension | , |
unsigned | int, | ||
Superclass2::FixedImageDimension | |||
) |
(Reduced) dimension of the fixed image.
elastix::BSplineStackTransform< TElastix >::itkStaticConstMacro | ( | ReducedSpaceDimension | , |
unsigned | int, | ||
Superclass2::FixedImageDimension- | 1 | ||
) |
|
static |
Method for creation through the object factory.
|
private |
|
protectedvirtual |
Read user-specified gridspacing 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 |
Dummy sub transform to be used to set sub transforms of stack transform.
Definition at line 301 of file elxBSplineStackTransform.h.
|
private |
The B-spline stack transform.
Definition at line 299 of file elxBSplineStackTransform.h.
|
private |
Grid schedule computer and grid upsampler.
Definition at line 304 of file elxBSplineStackTransform.h.
|
private |
Definition at line 305 of file elxBSplineStackTransform.h.
|
private |
Stack variables.
Definition at line 311 of file elxBSplineStackTransform.h.
|
private |
Variable to remember order of B-spline transform.
Definition at line 308 of file elxBSplineStackTransform.h.
|
private |
Definition at line 312 of file elxBSplineStackTransform.h.
|
private |
Definition at line 312 of file elxBSplineStackTransform.h.
Generated on 07-03-2016 for elastix by ![]() |
![]() |