Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <elxTransformBase.h>
This class is the elastix base class for all Transforms.
This class contains the common functionality for all Transforms.
The parameters used in this class are:
(HowToCombineTransforms "Add")
UseDirectionCosines: Controls whether to use or ignore the direction cosines (world matrix, transform matrix) set in the images. Voxel spacing and image origin are always taken into account, regardless the setting of this parameter.
example: (UseDirectionCosines "true")
Default: true. Setting it to false means that you choose to ignore important information from the image, which relates voxel coordinates to world coordinates. Ignoring it may easily lead to left/right swaps for example, which could skrew up a (medical) analysis.
HowToCombineTransforms: Indicates how to use the initial transform (given by the command-line argument -t0, or, if using multiple parameter files, by the result of registration using the previous parameter file). Possible options are "Add" and "Compose".
"Add" combines the initial transform and the current transform (which is currently optimized) by addition: ;
"Compose" by composition: .
example: (HowToCombineTransforms "Add")
Default: "Compose".
Size: The size (number of voxels in each dimension) of the fixed image that was used during registration, and which is used for resampling the deformed moving image.
example: (Size 100 90 90)
Mandatory parameter.
Index: The starting index of the fixed image region that was used during registration, and which is used for resampling the deformed moving image.
example: (Index 0 0 0)
Currently always zero.
Spacing: The voxel spacing of the fixed image that was used during registration, and which is used for resampling the deformed moving image.
example: (Spacing 1.0 1.0 1.0)
Default: 1.0 for each dimension.
Origin: The origin (location of the first voxel in world coordinate) of the fixed image that was used during registration, and which is used for resampling the deformed moving image.
example: (Origin 5.0 10.0 11.0)
Default: 0.0 for each dimension.
Direction: The direction cosines matrix of the fixed image that was used during registration, and which is used for resampling the deformed moving image if the UseDirectionCosines parameter is set to "true".
example: (Direction -1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.1)
Default: identity matrix. Elements are sorted as follows: [ d11 d21 d31 d12 d22 d32 d13 d23 d33] (in 3D).
TransformParameters: the transform parameter vector that defines the transformation.
example (TransformParameters 0.03 1.0 0.2 ...)
The number of entries is stored the NumberOfParameters entry.
NumberOfParameters: the length of the transform parameter vector.
example (NumberOfParameters 722)
InitialTransformParametersFileName: The location/name of an initial transform that will be loaded when loading the current transform parameter file. Note that transform parameter file can also contain an initial transform. Recursively all transforms are thus automatically loaded when loading the last transform parameter file.
example (InitialTransformParametersFileName "./res/TransformParameters.0.txt")
The location is relative to the path from where elastix/transformix is started!
Default: "NoInitialTransform", which (obviously) means that there is no initial transform to be loaded.
The command line arguments used by this class are:
-t0: optional argument for elastix for specifying an initial transform parameter file.
example: -t0 TransformParameters.txt
-def: optional argument for transformix for specifying a set of points that have to be transformed.
example: -def inputPoints.txt
The inputPoints.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.
It is also possible to deform all points, thereby generating a deformation field image. This is done by:
example: -def all
Definition at line 128 of file elxTransformBase.h.
Public Member Functions | |
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 ¶m, ParameterMapType *paramsMap) const |
DeformationFieldImageType::Pointer | GenerateDeformationFieldImage (void) const |
virtual CombinationTransformType * | GetAsCombinationTransform (void) |
virtual const CombinationTransformType * | GetAsCombinationTransform (void) const |
virtual ITKBaseType * | GetAsITKBaseType (void) |
virtual const ITKBaseType * | GetAsITKBaseType (void) const |
virtual const char * | GetClassName () const |
virtual const InitialTransformType * | GetInitialTransform (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 ¶m) const |
virtual void | WriteToFile (void) const |
Public Member Functions inherited from elastix::BaseComponentSE< TElastix > | |
ConfigurationType * | GetConfiguration (void) const |
ElastixType * | GetElastix (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) |
Protected Member Functions | |
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 | |
std::string | GetInitialTransformParametersFileName (void) const |
Private Attributes | |
ParametersType | m_FinalParameters |
bool | m_ReadWriteTransformParameters { true } |
std::string | m_TransformParametersFileName |
std::unique_ptr< ParametersType > | m_TransformParametersPointer {} |
bool | m_UseBinaryFormatForTransformationParameters {} |
Additional Inherited Members | |
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 Attributes inherited from elastix::BaseComponentSE< TElastix > | |
ConfigurationPointer | m_Configuration {} |
ElastixPointer | m_Elastix {} |
RegistrationPointer | m_Registration {} |
typedef itk::AdvancedCombinationTransform< CoordRepType, itkGetStaticConstMacro( FixedImageDimension ) > elastix::TransformBase< TElastix >::CombinationTransformType |
Definition at line 182 of file elxTransformBase.h.
typedef ConfigurationType::CommandLineArgumentMapType elastix::TransformBase< TElastix >::CommandLineArgumentMapType |
Definition at line 150 of file elxTransformBase.h.
typedef ConfigurationType::CommandLineEntryType elastix::TransformBase< TElastix >::CommandLineEntryType |
Definition at line 152 of file elxTransformBase.h.
typedef ComponentDatabase elastix::TransformBase< TElastix >::ComponentDatabaseType |
Typedef's from ComponentDatabase.
Definition at line 160 of file elxTransformBase.h.
typedef ComponentDatabaseType::ComponentDescriptionType elastix::TransformBase< TElastix >::ComponentDescriptionType |
Definition at line 161 of file elxTransformBase.h.
typedef Configuration::Pointer elastix::BaseComponentSE< TElastix >::ConfigurationPointer |
Definition at line 59 of file elxBaseComponentSE.h.
typedef Configuration elastix::BaseComponentSE< TElastix >::ConfigurationType |
ConfigurationType.
Definition at line 58 of file elxBaseComponentSE.h.
typedef ElastixType::CoordRepType elastix::TransformBase< TElastix >::CoordRepType |
Elastix typedef's.
Definition at line 155 of file elxTransformBase.h.
typedef itk::Image< VectorPixelType, FixedImageDimension > elastix::TransformBase< TElastix >::DeformationFieldImageType |
Definition at line 198 of file elxTransformBase.h.
typedef itk::WeakPointer< ElastixType > elastix::BaseComponentSE< TElastix >::ElastixPointer |
Definition at line 55 of file elxBaseComponentSE.h.
typedef TElastix elastix::BaseComponentSE< TElastix >::ElastixType |
Elastix typedef's.
Definition at line 54 of file elxBaseComponentSE.h.
typedef ElastixType::FixedImageType elastix::TransformBase< TElastix >::FixedImageType |
Definition at line 156 of file elxTransformBase.h.
typedef CombinationTransformType::InitialTransformType elastix::TransformBase< TElastix >::InitialTransformType |
Definition at line 184 of file elxTransformBase.h.
typedef ITKBaseType::InputPointType elastix::TransformBase< TElastix >::InputPointType |
Typedef's for TransformPoint.
Definition at line 191 of file elxTransformBase.h.
typedef itk::AdvancedTransform< CoordRepType, itkGetStaticConstMacro( FixedImageDimension ), itkGetStaticConstMacro( MovingImageDimension ) > elastix::TransformBase< TElastix >::ITKBaseType |
Definition at line 180 of file elxTransformBase.h.
typedef RegistrationType::ITKBaseType elastix::TransformBase< TElastix >::ITKRegistrationType |
Typedefs needed for AutomaticScalesEstimation function
Definition at line 201 of file elxTransformBase.h.
typedef ElastixType::MovingImageType elastix::TransformBase< TElastix >::MovingImageType |
Definition at line 157 of file elxTransformBase.h.
typedef itk::Object elastix::TransformBase< TElastix >::ObjectType |
Other typedef's.
Definition at line 176 of file elxTransformBase.h.
typedef ITKRegistrationType::OptimizerType elastix::TransformBase< TElastix >::OptimizerType |
Definition at line 202 of file elxTransformBase.h.
typedef ITKBaseType::OutputPointType elastix::TransformBase< TElastix >::OutputPointType |
Definition at line 192 of file elxTransformBase.h.
typedef ElastixType::ParameterMapType elastix::TransformBase< TElastix >::ParameterMapType |
Typedef that is used in the elastix dll version.
Definition at line 206 of file elxTransformBase.h.
typedef ITKBaseType::ParametersType elastix::TransformBase< TElastix >::ParametersType |
Typedef's from Transform.
Definition at line 187 of file elxTransformBase.h.
typedef elx::ProgressCommand elastix::TransformBase< TElastix >::ProgressCommandType |
Typedef for the ProgressCommand.
Definition at line 165 of file elxTransformBase.h.
typedef ComponentDatabase::PtrToCreator elastix::TransformBase< TElastix >::PtrToCreator |
Definition at line 162 of file elxTransformBase.h.
typedef RegistrationType* elastix::BaseComponentSE< TElastix >::RegistrationPointer |
Definition at line 65 of file elxBaseComponentSE.h.
typedef ElastixType::RegistrationBaseType elastix::BaseComponentSE< TElastix >::RegistrationType |
RegistrationType; NB: this is the elx::RegistrationBase not an itk::Object or something like that.
Definition at line 64 of file elxBaseComponentSE.h.
typedef OptimizerType::ScalesType elastix::TransformBase< TElastix >::ScalesType |
Definition at line 203 of file elxTransformBase.h.
typedef TransformBase elastix::TransformBase< TElastix >::Self |
Standard ITK stuff.
Definition at line 135 of file elxTransformBase.h.
typedef BaseComponentSE< TElastix > elastix::TransformBase< TElastix >::Superclass |
Definition at line 136 of file elxTransformBase.h.
typedef ParametersType::ValueType elastix::TransformBase< TElastix >::ValueType |
Definition at line 188 of file elxTransformBase.h.
typedef itk::Vector< float, FixedImageDimension > elastix::TransformBase< TElastix >::VectorPixelType |
Typedef's for TransformPointsAllPoints.
Definition at line 196 of file elxTransformBase.h.
|
protecteddefault |
The default-constructor.
|
overrideprotecteddefault |
The destructor.
|
overridevirtual |
Execute stuff after the registration:
Reimplemented from elastix::BaseComponent.
|
protected |
Estimate a scales vector AutomaticScalesEstimation works like this:
|
protected |
Estimate a scales vector for a stack transform (elxTranslationStackTransform, elxAffineStackTransform, ...) Instead of sampling along the n dimensions of the fixed image, it samples along n-1 dimensions. Then
|
overridevirtual |
Execute stuff before everything else:
Reimplemented from elastix::BaseComponent.
|
virtual |
Execute stuff before the actual transformation:
|
overridevirtual |
Execute stuff before the actual registration:
Reimplemented from elastix::BaseComponent.
|
virtual |
Function to compute the determinant of the spatial Jacobian.
|
virtual |
Function to compute the determinant of the spatial Jacobian.
|
virtual |
Function to create transform-parameters map.
Reimplemented in elastix::AdvancedAffineTransformElastix< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::EulerTransformElastix< TElastix >, and elastix::RecursiveBSplineTransform< TElastix >.
DeformationFieldImageType::Pointer elastix::TransformBase< TElastix >::GenerateDeformationFieldImage | ( | void | ) | const |
Deprecation note: The plan is to split all Compute* and TransformPoints* functions into Generate* and Write* functions, since that would facilitate a proper library interface. To keep everything functional during the transition period we need to keep the orignal Compute* and TransformPoints* functions and let them just call Generate* and Write*. These functions should be considered marked deprecated. Function to transform all coordinates from fixed to moving image.
|
inlinevirtual |
Definition at line 228 of file elxTransformBase.h.
|
inlinevirtual |
Definition at line 222 of file elxTransformBase.h.
|
inlinevirtual |
Cast to ITKBaseType.
Definition at line 209 of file elxTransformBase.h.
|
inlinevirtual |
Cast to ITKBaseType, to use in const functions.
Definition at line 216 of file elxTransformBase.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented in elastix::AdvancedAffineTransformElastix< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::AffineDTITransformElastix< TElastix >, elastix::AffineLogStackTransform< TElastix >, elastix::AffineLogTransformElastix< TElastix >, elastix::BSplineTransformWithDiffusion< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::DeformationFieldTransform< TElastix >, elastix::EulerStackTransform< TElastix >, elastix::EulerTransformElastix< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::SimilarityTransformElastix< TElastix >, elastix::SplineKernelTransform< TElastix >, elastix::TranslationStackTransform< TElastix >, elastix::TranslationTransformElastix< TElastix >, and elastix::WeightedCombinationTransformElastix< TElastix >.
|
virtual |
Get the initial transform.
|
inlineprivate |
Definition at line 361 of file elxTransformBase.h.
|
virtual |
Get the TransformParametersFileName.
elastix::TransformBase< TElastix >::ITK_DISALLOW_COPY_AND_ASSIGN | ( | TransformBase< TElastix > | ) |
elastix::TransformBase< TElastix >::itkStaticConstMacro | ( | FixedImageDimension | , |
unsigned int | , | ||
FixedImageType::ImageDimension | |||
) |
Get the dimension of the fixed image.
elastix::TransformBase< TElastix >::itkStaticConstMacro | ( | MovingImageDimension | , |
unsigned int | , | ||
MovingImageType::ImageDimension | |||
) |
Get the dimension of the moving image.
|
virtual |
Function to read transform-parameters from a file.
Reimplemented in elastix::AdvancedAffineTransformElastix< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::AffineDTITransformElastix< TElastix >, elastix::AffineLogStackTransform< TElastix >, elastix::AffineLogTransformElastix< TElastix >, elastix::BSplineTransformWithDiffusion< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::DeformationFieldTransform< TElastix >, elastix::EulerStackTransform< TElastix >, elastix::EulerTransformElastix< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::SimilarityTransformElastix< TElastix >, elastix::SplineKernelTransform< TElastix >, elastix::TranslationStackTransform< TElastix >, and elastix::WeightedCombinationTransformElastix< TElastix >.
|
virtual |
Function to read the initial transform parameters from a file.
|
virtual |
Function to read the initial transform parameters from the internally stored configuration object.
|
virtual |
Makes sure that the final parameters from the registration components are copied, set, and stored.
|
virtual |
Set the initial transform.
|
virtual |
Macro for reading and writing the transform parameters in WriteToFile or not.
|
virtual |
Set the TransformParametersFileName.
|
virtual |
Function to transform coordinates from fixed to moving image.
|
virtual |
Legacy function that calls GenerateDeformationFieldImage and WriteDeformationFieldImage.
|
virtual |
Function to transform coordinates from fixed to moving image.
|
virtual |
Function to transform coordinates from fixed to moving image, given as VTK file.
void elastix::TransformBase< TElastix >::WriteDeformationFieldImage | ( | typename DeformationFieldImageType::Pointer | ) | const |
|
virtual |
Function to write transform-parameters to a file.
Reimplemented in elastix::AdvancedAffineTransformElastix< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::AffineDTITransformElastix< TElastix >, elastix::AffineLogStackTransform< TElastix >, elastix::AffineLogTransformElastix< TElastix >, elastix::BSplineTransformWithDiffusion< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::DeformationFieldTransform< TElastix >, elastix::EulerStackTransform< TElastix >, elastix::EulerTransformElastix< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::SimilarityTransformElastix< TElastix >, elastix::SplineKernelTransform< TElastix >, elastix::TranslationStackTransform< TElastix >, and elastix::WeightedCombinationTransformElastix< TElastix >.
|
virtual |
Function to write transform-parameters to a file.
|
private |
Definition at line 356 of file elxTransformBase.h.
|
private |
Boolean to decide whether or not the transform parameters are written.
Definition at line 359 of file elxTransformBase.h.
|
private |
Definition at line 355 of file elxTransformBase.h.
|
private |
Member variables.
Definition at line 354 of file elxTransformBase.h.
|
private |
Boolean to decide whether or not the transform parameters are written in binary format.
Definition at line 373 of file elxTransformBase.h.
Generated on 1667476801 for elastix by 1.9.4 |