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 Member Functions | Private Member Functions | Private Attributes
elastix::BSplineStackTransform< TElastix > Class Template Reference

#include <elxBSplineStackTransform.h>

Detailed Description

template<class TElastix>
class elastix::BSplineStackTransform< TElastix >

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:

Parameters:

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. If an affine transformation is provided as initial transformation, the control grid will be scaled to cover the fixed image domain in the space defined by the initial transformation.

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:

Transform Parameters:

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)

Todo:
It is unsure what happens when one of the image dimensions has length 1.

Definition at line 112 of file elxBSplineStackTransform.h.

+ Inheritance diagram for elastix::BSplineStackTransform< TElastix >:

Public Types

typedef BSplineStackTransformType::Pointer BSplineStackTransformPointer
 
typedef itk::StackTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension) > BSplineStackTransformType
 
typedef BSplineTransformBaseType::Pointer BSplineTransformBasePointer
 
typedef itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(SpaceDimension) > BSplineTransformBaseType
 
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 3 > BSplineTransformCubicType
 
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 1 > BSplineTransformLinearType
 
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension), 2 > BSplineTransformQuadraticType
 
typedef Superclass2::CombinationTransformType CombinationTransformType
 
typedef Superclass2::ConfigurationPointer ConfigurationPointer
 
typedef Superclass2::ConfigurationType ConfigurationType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass2::CoordRepType CoordRepType
 
typedef BSplineTransformBaseType::DirectionType DirectionType
 
typedef Superclass2::ElastixPointer ElastixPointer
 
typedef Superclass2::ElastixType ElastixType
 
typedef Superclass2::FixedImageType FixedImageType
 
typedef GridScheduleComputerType::Pointer GridScheduleComputerPointer
 
typedef itk::GridScheduleComputer< CoordRepType, ReducedSpaceDimension > GridScheduleComputerType
 
typedef GridScheduleComputerType::VectorGridSpacingFactorType GridScheduleType
 
typedef GridUpsamplerType::Pointer GridUpsamplerPointer
 
typedef itk::UpsampleBSplineParametersFilter< ParametersType, ReducedDimensionImageTypeGridUpsamplerType
 
typedef BSplineTransformBaseType::ImagePointer ImagePointer
 
typedef BSplineTransformBaseType::ImageType ImageType
 
typedef BSplineTransformBaseType::IndexType IndexType
 
typedef Superclass2::ITKBaseType ITKBaseType
 
typedef Superclass2::MovingImageType MovingImageType
 
typedef Superclass1::NumberOfParametersType NumberOfParametersType
 
typedef BSplineTransformBaseType::OriginType OriginType
 
typedef Superclass2::ParameterMapType ParameterMapType
 
typedef Superclass1::ParametersType ParametersType
 
typedef std::vector< std::string > ParameterValueType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ReducedDimensionBSplineTransformBaseType::Pointer ReducedDimensionBSplineTransformBasePointer
 
typedef itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionBSplineTransformBaseType
 
typedef ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType
 
typedef itk::Image< PixelType, itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionImageType
 
typedef ReducedDimensionRegionType::IndexType ReducedDimensionIndexType
 
typedef ReducedDimensionImageType::PointType ReducedDimensionOriginType
 
typedef itk::ImageRegion< itkGetStaticConstMacro(ReducedSpaceDimension) > ReducedDimensionRegionType
 
typedef ReducedDimensionRegionType::SizeType ReducedDimensionSizeType
 
typedef ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType
 
typedef BSplineTransformBaseType::RegionType RegionType
 
typedef Superclass2::RegistrationPointer RegistrationPointer
 
typedef Superclass2::RegistrationType RegistrationType
 
typedef BSplineStackTransform Self
 
typedef BSplineTransformBaseType::SizeType SizeType
 
typedef BSplineTransformBaseType::SpacingType SpacingType
 
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 Superclass::FixedParametersType FixedParametersType
 
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::TransformCategoryEnum TransformCategoryEnum
 
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::FixedParametersType FixedParametersType
 
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 Configuration::Pointer ConfigurationPointer
 
typedef Configuration ConfigurationType
 
typedef ElastixType::CoordRepType CoordRepType
 
typedef itk::Image< VectorPixelType, FixedImageDimension > DeformationFieldImageType
 
typedef itk::WeakPointer< ElastixTypeElastixPointer
 
typedef TElastix 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 RegistrationTypeRegistrationPointer
 
typedef ElastixType::RegistrationBaseType RegistrationType
 
typedef OptimizerType::ScalesType ScalesType
 
typedef TransformBase Self
 
typedef BaseComponentSE< TElastix > Superclass
 
typedef ParametersType::ValueType ValueType
 
typedef itk::Vector< float, FixedImageDimension > VectorPixelType
 
- Public Types inherited from elastix::BaseComponentSE< TElastix >
typedef Configuration::Pointer ConfigurationPointer
 
typedef Configuration ConfigurationType
 
typedef itk::WeakPointer< ElastixTypeElastixPointer
 
typedef TElastix ElastixType
 
typedef RegistrationTypeRegistrationPointer
 
typedef ElastixType::RegistrationBaseType RegistrationType
 
typedef BaseComponentSE Self
 
typedef BaseComponent Superclass
 

Public Member Functions

int BeforeAll (void) override
 
void BeforeEachResolution (void) override
 
void BeforeRegistration (void) override
 
void CreateTransformParametersMap (const ParametersType &param, ParameterMapType *paramsMap) const override
 
 elxClassNameMacro ("BSplineStackTransform")
 
virtual const char * GetClassName () const
 
virtual void IncreaseScale (void)
 
virtual void InitializeTransform (void)
 
 itkStaticConstMacro (ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
 
void ReadFromFile (void) override
 
virtual void SetOptimizerScales (const unsigned int edgeWidth)
 
void WriteToFile (const ParametersType &param) const override
 
- Public Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const char * GetClassName () const
 
const FixedParametersTypeGetFixedParameters (void) const override
 
bool GetHasNonZeroSpatialHessian (void) const override
 
virtual bool GetInverse (Self *inverse) const
 
void GetJacobian (const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const TransformTypePointer GetNthTransform (SizeValueType n) const
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const override
 
NumberOfParametersType GetNumberOfParameters (void) const override
 
virtual SizeValueType GetNumberOfTransforms (void) const
 
const ParametersTypeGetParameters (void) const override
 
void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const override
 
void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const override
 
TransformCategoryEnum GetTransformCategory () const override
 
virtual bool GetUseAddition () const
 
virtual bool GetUseComposition () const
 
virtual bool HasNonZeroJacobianOfSpatialHessian (void) const
 
bool IsLinear (void) const override
 
 itkGetModifiableObjectMacro (CurrentTransform, CurrentTransformType)
 
 itkGetModifiableObjectMacro (InitialTransform, InitialTransformType)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetCurrentTransform (CurrentTransformType *_arg)
 
void SetFixedParameters (const FixedParametersType &fixedParam) override
 
virtual void SetInitialTransform (InitialTransformType *_arg)
 
void SetParameters (const ParametersType &param) override
 
void SetParametersByValue (const ParametersType &param) override
 
virtual void SetUseAddition (bool _arg)
 
virtual 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< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual const char * GetClassName () const
 
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 
virtual bool GetHasNonZeroSpatialHessian () 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 NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const
 
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 >
void AfterRegistrationBase (void) override
 
int BeforeAllBase (void) override
 
virtual int BeforeAllTransformix (void)
 
void BeforeRegistrationBase (void) override
 
virtual void ComputeDeterminantOfSpatialJacobian (void) const
 
virtual void ComputeSpatialJacobian (void) const
 
virtual void CreateTransformParametersMap (const ParametersType &param, ParameterMapType *paramsMap) const
 
DeformationFieldImageType::Pointer GenerateDeformationFieldImage (void) const
 
virtual CombinationTransformTypeGetAsCombinationTransform (void)
 
virtual const CombinationTransformTypeGetAsCombinationTransform (void) const
 
virtual ITKBaseTypeGetAsITKBaseType (void)
 
virtual const ITKBaseTypeGetAsITKBaseType (void) const
 
virtual const char * GetClassName () const
 
virtual const InitialTransformTypeGetInitialTransform (void) const
 
virtual const char * GetTransformParametersFileName () const
 
 ITK_DISALLOW_COPY_AND_ASSIGN (TransformBase)
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
 
virtual void ReadFromFile (void)
 
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
 
void WriteDeformationFieldImage (typename DeformationFieldImageType::Pointer) const
 
virtual void WriteToFile (const ParametersType &param) const
 
virtual void WriteToFile (void) const
 
- Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
ConfigurationTypeGetConfiguration (void) const
 
ElastixTypeGetElastix (void) const
 
RegistrationPointer GetRegistration (void) const
 
 ITK_DISALLOW_COPY_AND_ASSIGN (BaseComponentSE)
 
void SetConfiguration (ConfigurationType *_arg)
 
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 AfterRegistrationBase (void)
 
virtual int BeforeAll (void)
 
virtual int BeforeAllBase (void)
 
virtual void BeforeEachResolution (void)
 
virtual void BeforeEachResolutionBase (void)
 
virtual void BeforeRegistration (void)
 
virtual void BeforeRegistrationBase (void)
 
virtual const char * elxGetClassName (void) const
 
const char * GetComponentLabel (void) const
 
 ITK_DISALLOW_COPY_AND_ASSIGN (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< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
static Pointer New ()
 
- Static Public Member Functions inherited from elastix::BaseComponent
static std::string ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision)
 
static void InitializeElastixExecutable ()
 
static bool IsElastixLibrary ()
 

Protected Member Functions

 BSplineStackTransform ()
 
virtual void PreComputeGridInformation (void)
 
 ~BSplineStackTransform () override
 
- 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
 
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)
 
 ~AdvancedCombinationTransform () override
 
- Protected Member Functions inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
 AdvancedTransform ()
 
 AdvancedTransform (NumberOfParametersType numberOfParameters)
 
 ~AdvancedTransform () override
 
- Protected Member Functions inherited from elastix::TransformBase< TElastix >
void AutomaticScalesEstimation (ScalesType &scales) const
 
void AutomaticScalesEstimationStackTransform (const unsigned int &numSubTransforms, ScalesType &scales) 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
 

Private Member Functions

 BSplineStackTransform (const Self &)
 
unsigned int InitializeBSplineTransform ()
 
void operator= (const Self &)
 

Private Attributes

ReducedDimensionBSplineTransformBasePointer m_BSplineDummySubTransform
 
BSplineStackTransformPointer m_BSplineStackTransform
 
GridScheduleComputerPointer m_GridScheduleComputer
 
GridUpsamplerPointer m_GridUpsampler
 
unsigned int m_NumberOfSubTransforms
 
unsigned int m_SplineOrder
 
double m_StackOrigin
 
double m_StackSpacing
 

Additional Inherited Members

- 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::BaseComponentSE< TElastix >
ConfigurationPointer m_Configuration {}
 
ElastixPointer m_Elastix {}
 
RegistrationPointer m_Registration {}
 

Member Typedef Documentation

◆ BSplineStackTransformPointer

template<class TElastix >
typedef BSplineStackTransformType::Pointer elastix::BSplineStackTransform< TElastix >::BSplineStackTransformPointer

Definition at line 166 of file elxBSplineStackTransform.h.

◆ BSplineStackTransformType

template<class TElastix >
typedef itk::StackTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( SpaceDimension ), itkGetStaticConstMacro( SpaceDimension ) > elastix::BSplineStackTransform< TElastix >::BSplineStackTransformType

Typedef for stack transform.

Definition at line 165 of file elxBSplineStackTransform.h.

◆ BSplineTransformBasePointer

template<class TElastix >
typedef BSplineTransformBaseType::Pointer elastix::BSplineStackTransform< TElastix >::BSplineTransformBasePointer

Definition at line 153 of file elxBSplineStackTransform.h.

◆ BSplineTransformBaseType

template<class TElastix >
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 152 of file elxBSplineStackTransform.h.

◆ BSplineTransformCubicType

template<class TElastix >
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( ReducedSpaceDimension ), 3 > elastix::BSplineStackTransform< TElastix >::BSplineTransformCubicType

Definition at line 180 of file elxBSplineStackTransform.h.

◆ BSplineTransformLinearType

template<class TElastix >
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( ReducedSpaceDimension ), 1 > elastix::BSplineStackTransform< TElastix >::BSplineTransformLinearType

Typedef for supported BSplineTransform types.

Definition at line 172 of file elxBSplineStackTransform.h.

◆ BSplineTransformQuadraticType

template<class TElastix >
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, itkGetStaticConstMacro( ReducedSpaceDimension ), 2 > elastix::BSplineStackTransform< TElastix >::BSplineTransformQuadraticType

Definition at line 176 of file elxBSplineStackTransform.h.

◆ CombinationTransformType

template<class TElastix >
typedef Superclass2::CombinationTransformType elastix::BSplineStackTransform< TElastix >::CombinationTransformType

Definition at line 209 of file elxBSplineStackTransform.h.

◆ ConfigurationPointer

template<class TElastix >
typedef Superclass2::ConfigurationPointer elastix::BSplineStackTransform< TElastix >::ConfigurationPointer

Definition at line 202 of file elxBSplineStackTransform.h.

◆ ConfigurationType

template<class TElastix >
typedef Superclass2::ConfigurationType elastix::BSplineStackTransform< TElastix >::ConfigurationType

Definition at line 201 of file elxBSplineStackTransform.h.

◆ ConstPointer

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

Definition at line 129 of file elxBSplineStackTransform.h.

◆ CoordRepType

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

Definition at line 205 of file elxBSplineStackTransform.h.

◆ DirectionType

template<class TElastix >
typedef BSplineTransformBaseType::DirectionType elastix::BSplineStackTransform< TElastix >::DirectionType

Definition at line 196 of file elxBSplineStackTransform.h.

◆ ElastixPointer

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

Definition at line 200 of file elxBSplineStackTransform.h.

◆ ElastixType

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

Typedef's from TransformBase.

Definition at line 199 of file elxBSplineStackTransform.h.

◆ FixedImageType

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

Definition at line 206 of file elxBSplineStackTransform.h.

◆ GridScheduleComputerPointer

template<class TElastix >
typedef GridScheduleComputerType::Pointer elastix::BSplineStackTransform< TElastix >::GridScheduleComputerPointer

Definition at line 225 of file elxBSplineStackTransform.h.

◆ GridScheduleComputerType

template<class TElastix >
typedef itk::GridScheduleComputer< CoordRepType, ReducedSpaceDimension > elastix::BSplineStackTransform< TElastix >::GridScheduleComputerType

Typedef's for the GridScheduleComputer and the UpsampleBSplineParametersFilter.

Definition at line 224 of file elxBSplineStackTransform.h.

◆ GridScheduleType

template<class TElastix >
typedef GridScheduleComputerType::VectorGridSpacingFactorType elastix::BSplineStackTransform< TElastix >::GridScheduleType

Definition at line 227 of file elxBSplineStackTransform.h.

◆ GridUpsamplerPointer

template<class TElastix >
typedef GridUpsamplerType::Pointer elastix::BSplineStackTransform< TElastix >::GridUpsamplerPointer

Definition at line 230 of file elxBSplineStackTransform.h.

◆ GridUpsamplerType

template<class TElastix >
typedef itk::UpsampleBSplineParametersFilter< ParametersType, ReducedDimensionImageType > elastix::BSplineStackTransform< TElastix >::GridUpsamplerType

Definition at line 229 of file elxBSplineStackTransform.h.

◆ ImagePointer

template<class TElastix >
typedef BSplineTransformBaseType::ImagePointer elastix::BSplineStackTransform< TElastix >::ImagePointer

Definition at line 190 of file elxBSplineStackTransform.h.

◆ ImageType

template<class TElastix >
typedef BSplineTransformBaseType::ImageType elastix::BSplineStackTransform< TElastix >::ImageType

Definition at line 189 of file elxBSplineStackTransform.h.

◆ IndexType

template<class TElastix >
typedef BSplineTransformBaseType::IndexType elastix::BSplineStackTransform< TElastix >::IndexType

Definition at line 192 of file elxBSplineStackTransform.h.

◆ ITKBaseType

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

Definition at line 208 of file elxBSplineStackTransform.h.

◆ MovingImageType

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

Definition at line 207 of file elxBSplineStackTransform.h.

◆ NumberOfParametersType

template<class TElastix >
typedef Superclass1::NumberOfParametersType elastix::BSplineStackTransform< TElastix >::NumberOfParametersType

Definition at line 185 of file elxBSplineStackTransform.h.

◆ OriginType

template<class TElastix >
typedef BSplineTransformBaseType::OriginType elastix::BSplineStackTransform< TElastix >::OriginType

Definition at line 195 of file elxBSplineStackTransform.h.

◆ ParameterMapType

template<class TElastix >
typedef Superclass2::ParameterMapType elastix::BSplineStackTransform< TElastix >::ParameterMapType

Definition at line 184 of file elxBSplineStackTransform.h.

◆ ParametersType

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

Typedefs inherited from the superclass.

Definition at line 183 of file elxBSplineStackTransform.h.

◆ ParameterValueType

template<class TElastix >
typedef std::vector< std::string > elastix::BSplineStackTransform< TElastix >::ParameterValueType

Typedef's creation of parameter map

Definition at line 233 of file elxBSplineStackTransform.h.

◆ Pointer

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

Definition at line 128 of file elxBSplineStackTransform.h.

◆ ReducedDimensionBSplineTransformBasePointer

template<class TElastix >
typedef ReducedDimensionBSplineTransformBaseType::Pointer elastix::BSplineStackTransform< TElastix >::ReducedDimensionBSplineTransformBasePointer

Definition at line 159 of file elxBSplineStackTransform.h.

◆ ReducedDimensionBSplineTransformBaseType

template<class TElastix >
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 158 of file elxBSplineStackTransform.h.

◆ ReducedDimensionDirectionType

template<class TElastix >
typedef ReducedDimensionImageType::DirectionType elastix::BSplineStackTransform< TElastix >::ReducedDimensionDirectionType

Definition at line 219 of file elxBSplineStackTransform.h.

◆ ReducedDimensionImageType

template<class TElastix >
typedef itk::Image< PixelType, itkGetStaticConstMacro( ReducedSpaceDimension ) > elastix::BSplineStackTransform< TElastix >::ReducedDimensionImageType

Reduced dimension image typedefs.

Definition at line 213 of file elxBSplineStackTransform.h.

◆ ReducedDimensionIndexType

template<class TElastix >
typedef ReducedDimensionRegionType::IndexType elastix::BSplineStackTransform< TElastix >::ReducedDimensionIndexType

Definition at line 217 of file elxBSplineStackTransform.h.

◆ ReducedDimensionOriginType

template<class TElastix >
typedef ReducedDimensionImageType::PointType elastix::BSplineStackTransform< TElastix >::ReducedDimensionOriginType

Definition at line 220 of file elxBSplineStackTransform.h.

◆ ReducedDimensionRegionType

template<class TElastix >
typedef itk::ImageRegion< itkGetStaticConstMacro( ReducedSpaceDimension ) > elastix::BSplineStackTransform< TElastix >::ReducedDimensionRegionType

Definition at line 215 of file elxBSplineStackTransform.h.

◆ ReducedDimensionSizeType

template<class TElastix >
typedef ReducedDimensionRegionType::SizeType elastix::BSplineStackTransform< TElastix >::ReducedDimensionSizeType

Definition at line 216 of file elxBSplineStackTransform.h.

◆ ReducedDimensionSpacingType

template<class TElastix >
typedef ReducedDimensionImageType::SpacingType elastix::BSplineStackTransform< TElastix >::ReducedDimensionSpacingType

Definition at line 218 of file elxBSplineStackTransform.h.

◆ RegionType

template<class TElastix >
typedef BSplineTransformBaseType::RegionType elastix::BSplineStackTransform< TElastix >::RegionType

Definition at line 191 of file elxBSplineStackTransform.h.

◆ RegistrationPointer

template<class TElastix >
typedef Superclass2::RegistrationPointer elastix::BSplineStackTransform< TElastix >::RegistrationPointer

Definition at line 204 of file elxBSplineStackTransform.h.

◆ RegistrationType

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

Definition at line 203 of file elxBSplineStackTransform.h.

◆ Self

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

Standard ITK-stuff.

Definition at line 123 of file elxBSplineStackTransform.h.

◆ SizeType

template<class TElastix >
typedef BSplineTransformBaseType::SizeType elastix::BSplineStackTransform< TElastix >::SizeType

Definition at line 193 of file elxBSplineStackTransform.h.

◆ SpacingType

template<class TElastix >
typedef BSplineTransformBaseType::SpacingType elastix::BSplineStackTransform< TElastix >::SpacingType

Definition at line 194 of file elxBSplineStackTransform.h.

◆ Superclass1

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

Definition at line 126 of file elxBSplineStackTransform.h.

◆ Superclass2

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

Definition at line 127 of file elxBSplineStackTransform.h.

Constructor & Destructor Documentation

◆ BSplineStackTransform() [1/2]

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

The constructor.

◆ ~BSplineStackTransform()

template<class TElastix >
elastix::BSplineStackTransform< TElastix >::~BSplineStackTransform ( )
inlineoverrideprotected

The destructor.

Definition at line 297 of file elxBSplineStackTransform.h.

◆ BSplineStackTransform() [2/2]

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

The private constructor and copy constructor.

Member Function Documentation

◆ BeforeAll()

template<class TElastix >
int elastix::BSplineStackTransform< TElastix >::BeforeAll ( void  )
overridevirtual

Execute stuff before anything else is done:

  • Initialize the right BSplineTransform.
  • Initialize the right grid schedule computer.
  • Initialize upsample filter.

Reimplemented from elastix::BaseComponent.

◆ BeforeEachResolution()

template<class TElastix >
void elastix::BSplineStackTransform< TElastix >::BeforeEachResolution ( void  )
overridevirtual

Execute stuff before each new pyramid resolution:

Reimplemented from elastix::BaseComponent.

◆ BeforeRegistration()

template<class TElastix >
void elastix::BSplineStackTransform< TElastix >::BeforeRegistration ( void  )
overridevirtual

Execute stuff before the actual registration:

  • Create an initial B-spline grid.
  • Set the stack transform parameters.
  • Set initial sub transforms.
  • Create initial registration parameters.
  • PrecomputeGridInformation. Initially, the transform is set to use a 1x1x1 grid, with deformation (0,0,0). In the method BeforeEachResolution() this will be replaced by the right grid size. This seems not logical, but it is required, since the registration class checks if the number of parameters in the transform is equal to the number of parameters in the registration class. This check is done before calling the BeforeEachResolution() methods.

Reimplemented from elastix::BaseComponent.

◆ CreateTransformParametersMap()

template<class TElastix >
void elastix::BSplineStackTransform< TElastix >::CreateTransformParametersMap ( const ParametersType param,
ParameterMapType paramsMap 
) const
overridevirtual

Function to create transform-parameters map

Reimplemented from elastix::TransformBase< TElastix >.

◆ elxClassNameMacro()

template<class TElastix >
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")

◆ GetClassName()

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

Run-time type information (and related methods).

Reimplemented from elastix::TransformBase< TElastix >.

◆ IncreaseScale()

template<class TElastix >
virtual void elastix::BSplineStackTransform< TElastix >::IncreaseScale ( void  )
virtual

Method to increase the density of the B-spline grid.

  • Determine the new B-spline coefficients that describe the current deformation field for all sub transforms.
  • Set these coefficients as InitialParametersOfNextLevel in the registration object. Called by BeforeEachResolution().

◆ InitializeBSplineTransform()

template<class TElastix >
unsigned int elastix::BSplineStackTransform< TElastix >::InitializeBSplineTransform ( )
private

Initialize the right B-spline transform based on the spline order.

◆ InitializeTransform()

template<class TElastix >
virtual void elastix::BSplineStackTransform< TElastix >::InitializeTransform ( void  )
virtual

Method to set the initial B-spline grid and grid scheduler and initialize the parameters (to 0).

  • Define the initial grid region, origin and spacing, using the precomputed grid information.
  • Set the initial parameters to zero and set then as InitialParametersOfNextLevel in the registration object. Called by BeforeEachResolution().

◆ itkStaticConstMacro() [1/2]

template<class TElastix >
elastix::BSplineStackTransform< TElastix >::itkStaticConstMacro ( ReducedSpaceDimension  ,
unsigned int  ,
Superclass2::FixedImageDimension -  1 
)

◆ itkStaticConstMacro() [2/2]

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

(Reduced) dimension of the fixed image.

◆ New()

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

Method for creation through the object factory.

◆ operator=()

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

◆ PreComputeGridInformation()

template<class TElastix >
virtual void elastix::BSplineStackTransform< TElastix >::PreComputeGridInformation ( void  )
protectedvirtual

Read user-specified gridspacing and call the itkGridScheduleComputer.

◆ ReadFromFile()

template<class TElastix >
void elastix::BSplineStackTransform< TElastix >::ReadFromFile ( void  )
overridevirtual

Function to read transform-parameters from a file.

Reimplemented from elastix::TransformBase< TElastix >.

◆ SetOptimizerScales()

template<class TElastix >
virtual void elastix::BSplineStackTransform< TElastix >::SetOptimizerScales ( const unsigned int  edgeWidth)
virtual

Set the scales of the edge B-spline coefficients to zero.

◆ WriteToFile()

template<class TElastix >
void elastix::BSplineStackTransform< TElastix >::WriteToFile ( const ParametersType param) const
overridevirtual

Function to write transform-parameters to a file.

Reimplemented from elastix::TransformBase< TElastix >.

Field Documentation

◆ m_BSplineDummySubTransform

template<class TElastix >
ReducedDimensionBSplineTransformBasePointer elastix::BSplineStackTransform< TElastix >::m_BSplineDummySubTransform
private

Dummy sub transform to be used to set sub transforms of stack transform.

Definition at line 311 of file elxBSplineStackTransform.h.

◆ m_BSplineStackTransform

template<class TElastix >
BSplineStackTransformPointer elastix::BSplineStackTransform< TElastix >::m_BSplineStackTransform
private

The B-spline stack transform.

Definition at line 309 of file elxBSplineStackTransform.h.

◆ m_GridScheduleComputer

template<class TElastix >
GridScheduleComputerPointer elastix::BSplineStackTransform< TElastix >::m_GridScheduleComputer
private

Grid schedule computer and grid upsampler.

Definition at line 314 of file elxBSplineStackTransform.h.

◆ m_GridUpsampler

template<class TElastix >
GridUpsamplerPointer elastix::BSplineStackTransform< TElastix >::m_GridUpsampler
private

Definition at line 315 of file elxBSplineStackTransform.h.

◆ m_NumberOfSubTransforms

template<class TElastix >
unsigned int elastix::BSplineStackTransform< TElastix >::m_NumberOfSubTransforms
private

Stack variables.

Definition at line 321 of file elxBSplineStackTransform.h.

◆ m_SplineOrder

template<class TElastix >
unsigned int elastix::BSplineStackTransform< TElastix >::m_SplineOrder
private

Variable to remember order of B-spline transform.

Definition at line 318 of file elxBSplineStackTransform.h.

◆ m_StackOrigin

template<class TElastix >
double elastix::BSplineStackTransform< TElastix >::m_StackOrigin
private

Definition at line 322 of file elxBSplineStackTransform.h.

◆ m_StackSpacing

template<class TElastix >
double elastix::BSplineStackTransform< TElastix >::m_StackSpacing
private

Definition at line 322 of file elxBSplineStackTransform.h.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo