![]() |
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: false. Recommended: true. The default value is false for backward compatibility reasons. This parameter was introduced in elastix 4.3. 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 131 of file elxTransformBase.h.
Public Member Functions | |
virtual void | AfterRegistrationBase (void) |
virtual int | BeforeAllBase (void) |
virtual int | BeforeAllTransformix (void) |
virtual void | BeforeRegistrationBase (void) |
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 const CombinationTransformType * | GetAsCombinationTransform (void) const |
virtual CombinationTransformType * | GetAsCombinationTransform (void) |
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 |
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 |
![]() | |
virtual ConfigurationType * | GetConfiguration (void) const |
virtual ElastixType * | GetElastix (void) const |
virtual RegistrationPointer | GetRegistration (void) const |
virtual void | SetConfiguration (ConfigurationType *_arg) |
virtual void | SetElastix (ElastixType *_arg) |
![]() | |
virtual void | AfterEachIteration (void) |
virtual void | AfterEachIterationBase (void) |
virtual void | AfterEachResolution (void) |
virtual void | AfterEachResolutionBase (void) |
virtual void | AfterRegistration (void) |
virtual int | BeforeAll (void) |
virtual void | BeforeEachResolution (void) |
virtual void | BeforeEachResolutionBase (void) |
virtual void | BeforeRegistration (void) |
std::string | ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision) const |
virtual const char * | elxGetClassName (void) const |
virtual const char * | GetComponentLabel (void) const |
itkTypeMacroNoParent (BaseComponent) | |
virtual 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 () | |
virtual | ~TransformBase () |
![]() | |
BaseComponentSE () | |
virtual | ~BaseComponentSE () |
![]() | |
BaseComponent () | |
virtual | ~BaseComponent () |
Protected Attributes | |
ParametersType | m_FinalParameters |
std::string | m_TransformParametersFileName |
ParametersType * | m_TransformParametersPointer |
![]() | |
ConfigurationPointer | m_Configuration |
ElastixPointer | m_Elastix |
RegistrationPointer | m_Registration |
Private Member Functions | |
std::string | GetInitialTransformParametersFileName (void) const |
void | operator= (const Self &) |
TransformBase (const Self &) | |
Private Attributes | |
bool | m_ReadWriteTransformParameters |
typedef itk::AdvancedCombinationTransform< CoordRepType, itkGetStaticConstMacro( FixedImageDimension ) > elastix::TransformBase< TElastix >::CombinationTransformType |
Definition at line 183 of file elxTransformBase.h.
typedef ConfigurationType ::CommandLineArgumentMapType elastix::TransformBase< TElastix >::CommandLineArgumentMapType |
Definition at line 149 of file elxTransformBase.h.
typedef ConfigurationType ::CommandLineEntryType elastix::TransformBase< TElastix >::CommandLineEntryType |
Definition at line 151 of file elxTransformBase.h.
typedef ComponentDatabase elastix::TransformBase< TElastix >::ComponentDatabaseType |
Typedef's from ComponentDatabase.
Definition at line 161 of file elxTransformBase.h.
typedef ComponentDatabaseType::ComponentDescriptionType elastix::TransformBase< TElastix >::ComponentDescriptionType |
Definition at line 162 of file elxTransformBase.h.
typedef Superclass::ConfigurationPointer elastix::TransformBase< TElastix >::ConfigurationPointer |
Definition at line 147 of file elxTransformBase.h.
typedef Superclass::ConfigurationType elastix::TransformBase< TElastix >::ConfigurationType |
Definition at line 146 of file elxTransformBase.h.
typedef ElastixType::CoordRepType elastix::TransformBase< TElastix >::CoordRepType |
Elastix typedef's.
Definition at line 156 of file elxTransformBase.h.
typedef itk::Image< VectorPixelType, FixedImageDimension > elastix::TransformBase< TElastix >::DeformationFieldImageType |
Definition at line 199 of file elxTransformBase.h.
typedef Superclass::ElastixPointer elastix::TransformBase< TElastix >::ElastixPointer |
Definition at line 145 of file elxTransformBase.h.
typedef Superclass::ElastixType elastix::TransformBase< TElastix >::ElastixType |
Typedef's from Superclass.
Definition at line 141 of file elxTransformBase.h.
typedef ElastixType::FixedImageType elastix::TransformBase< TElastix >::FixedImageType |
Definition at line 157 of file elxTransformBase.h.
typedef CombinationTransformType::InitialTransformType elastix::TransformBase< TElastix >::InitialTransformType |
Definition at line 185 of file elxTransformBase.h.
typedef ITKBaseType::InputPointType elastix::TransformBase< TElastix >::InputPointType |
Typedef's for TransformPoint.
Definition at line 192 of file elxTransformBase.h.
typedef itk::AdvancedTransform< CoordRepType, itkGetStaticConstMacro( FixedImageDimension ), itkGetStaticConstMacro( MovingImageDimension ) > elastix::TransformBase< TElastix >::ITKBaseType |
Definition at line 181 of file elxTransformBase.h.
typedef RegistrationType::ITKBaseType elastix::TransformBase< TElastix >::ITKRegistrationType |
Typedefs needed for AutomaticScalesEstimation function
Definition at line 202 of file elxTransformBase.h.
typedef ElastixType::MovingImageType elastix::TransformBase< TElastix >::MovingImageType |
Definition at line 158 of file elxTransformBase.h.
typedef itk::Object elastix::TransformBase< TElastix >::ObjectType |
Other typedef's.
Definition at line 177 of file elxTransformBase.h.
typedef ITKRegistrationType::OptimizerType elastix::TransformBase< TElastix >::OptimizerType |
Definition at line 203 of file elxTransformBase.h.
typedef ITKBaseType::OutputPointType elastix::TransformBase< TElastix >::OutputPointType |
Definition at line 193 of file elxTransformBase.h.
typedef ElastixType::ParameterMapType elastix::TransformBase< TElastix >::ParameterMapType |
Typedef that is used in the elastix dll version.
Definition at line 207 of file elxTransformBase.h.
typedef ITKBaseType::ParametersType elastix::TransformBase< TElastix >::ParametersType |
Typedef's from Transform.
Definition at line 188 of file elxTransformBase.h.
typedef elx::ProgressCommand elastix::TransformBase< TElastix >::ProgressCommandType |
Typedef for the ProgressCommand.
Definition at line 166 of file elxTransformBase.h.
typedef ComponentDatabase::PtrToCreator elastix::TransformBase< TElastix >::PtrToCreator |
Definition at line 163 of file elxTransformBase.h.
typedef Superclass::RegistrationPointer elastix::TransformBase< TElastix >::RegistrationPointer |
Definition at line 153 of file elxTransformBase.h.
typedef Superclass::RegistrationType elastix::TransformBase< TElastix >::RegistrationType |
Definition at line 152 of file elxTransformBase.h.
typedef OptimizerType::ScalesType elastix::TransformBase< TElastix >::ScalesType |
Definition at line 204 of file elxTransformBase.h.
typedef TransformBase elastix::TransformBase< TElastix >::Self |
Standard ITK stuff.
Definition at line 137 of file elxTransformBase.h.
typedef BaseComponentSE< TElastix > elastix::TransformBase< TElastix >::Superclass |
Definition at line 138 of file elxTransformBase.h.
typedef ParametersType::ValueType elastix::TransformBase< TElastix >::ValueType |
Definition at line 189 of file elxTransformBase.h.
typedef itk::Vector< float, FixedImageDimension > elastix::TransformBase< TElastix >::VectorPixelType |
Typedef's for TransformPointsAllPoints.
Definition at line 197 of file elxTransformBase.h.
|
protected |
The constructor.
|
protectedvirtual |
The destructor.
|
private |
The private constructor.
|
virtual |
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
|
virtual |
Execute stuff before everything else:
Reimplemented from elastix::BaseComponent.
|
virtual |
Execute stuff before the actual transformation:
|
virtual |
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::BSplineStackTransform< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::EulerTransformElastix< TElastix >, and elastix::AdvancedAffineTransformElastix< 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 223 of file elxTransformBase.h.
|
inlinevirtual |
Definition at line 229 of file elxTransformBase.h.
|
inlinevirtual |
Cast to ITKBaseType.
Definition at line 210 of file elxTransformBase.h.
|
inlinevirtual |
Cast to ITKBaseType, to use in const functions.
Definition at line 217 of file elxTransformBase.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented in elastix::BSplineTransformWithDiffusion< TElastix >, elastix::SplineKernelTransform< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::WeightedCombinationTransformElastix< TElastix >, elastix::SimilarityTransformElastix< TElastix >, elastix::AdvancedAffineTransformElastix< TElastix >, elastix::AffineDTITransformElastix< TElastix >, elastix::EulerTransformElastix< TElastix >, elastix::EulerStackTransform< TElastix >, elastix::DeformationFieldTransform< TElastix >, elastix::TranslationTransformElastix< TElastix >, elastix::TranslationStackTransform< TElastix >, elastix::AffineLogTransformElastix< TElastix >, and elastix::AffineLogStackTransform< TElastix >.
|
virtual |
Get the initial transform.
|
inlineprivate |
Definition at line 366 of file elxTransformBase.h.
|
virtual |
Get the TransformParametersFileName.
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.
|
private |
The private copy constructor.
|
virtual |
Function to read transform-parameters from a file.
Reimplemented in elastix::BSplineTransformWithDiffusion< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::EulerStackTransform< TElastix >, elastix::SimilarityTransformElastix< TElastix >, elastix::EulerTransformElastix< TElastix >, elastix::AffineDTITransformElastix< TElastix >, elastix::SplineKernelTransform< TElastix >, elastix::AdvancedAffineTransformElastix< TElastix >, elastix::WeightedCombinationTransformElastix< TElastix >, elastix::AffineLogTransformElastix< TElastix >, elastix::AffineLogStackTransform< TElastix >, elastix::TranslationStackTransform< TElastix >, and elastix::DeformationFieldTransform< 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::BSplineTransformWithDiffusion< TElastix >, elastix::BSplineStackTransform< TElastix >, elastix::AdvancedBSplineTransform< TElastix >, elastix::RecursiveBSplineTransform< TElastix >, elastix::MultiBSplineTransformWithNormal< TElastix >, elastix::EulerStackTransform< TElastix >, elastix::SimilarityTransformElastix< TElastix >, elastix::EulerTransformElastix< TElastix >, elastix::AffineDTITransformElastix< TElastix >, elastix::AdvancedAffineTransformElastix< TElastix >, elastix::SplineKernelTransform< TElastix >, elastix::WeightedCombinationTransformElastix< TElastix >, elastix::AffineLogTransformElastix< TElastix >, elastix::AffineLogStackTransform< TElastix >, elastix::TranslationStackTransform< TElastix >, and elastix::DeformationFieldTransform< TElastix >.
|
virtual |
Function to write transform-parameters to a file.
|
protected |
Definition at line 354 of file elxTransformBase.h.
|
private |
Boolean to decide whether or not the transform parameters are written.
Definition at line 364 of file elxTransformBase.h.
|
protected |
Definition at line 353 of file elxTransformBase.h.
|
protected |
Member variables.
Definition at line 352 of file elxTransformBase.h.
Generated on OURCE_DATE_EPOCH for elastix by ![]() |
![]() |