go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxSimilarityTransform.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef __elxSimilarityTransform_H__
19#define __elxSimilarityTransform_H__
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
22#include "itkSimilarityTransform.h"
23#include "itkCenteredTransformInitializer.h"
24
25namespace elastix
26{
27
78template< class TElastix >
81 typename elx::TransformBase< TElastix >::CoordRepType,
82 elx::TransformBase< TElastix >::FixedImageDimension >,
83 public elx::TransformBase< TElastix >
84{
85public:
86
93 typedef itk::SmartPointer< Self > Pointer;
94 typedef itk::SmartPointer< const Self > ConstPointer;
95
98 typedef itk::SimilarityTransform<
101
103 itkNewMacro( Self );
104
107
112 elxClassNameMacro( "SimilarityTransform" );
113
115 itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
116
124
133
135 typedef typename SimilarityTransformType::Pointer SimilarityTransformPointer;
136 typedef typename SimilarityTransformType::OffsetType OffsetType;
137
150
152 typedef typename FixedImageType::IndexType IndexType;
153 typedef typename IndexType::IndexValueType IndexValueType;
154 typedef typename FixedImageType::SizeType SizeType;
155 typedef typename FixedImageType::PointType PointType;
156 typedef typename FixedImageType::SpacingType SpacingType;
157 typedef typename FixedImageType::RegionType RegionType;
158 typedef typename FixedImageType::DirectionType DirectionType;
159
160 typedef itk::CenteredTransformInitializer<
162 typedef typename TransformInitializerType::Pointer TransformInitializerPointer;
163
166
171 void BeforeRegistration( void ) override;
172
188 virtual void InitializeTransform( void );
189
197 virtual void SetScales( void );
198
203 void ReadFromFile( void ) override;
204
208 void WriteToFile( const ParametersType & param ) const override;
209
210protected:
211
216
222 virtual bool ReadCenterOfRotationIndex( InputPointType & rotationPoint ) const;
223
229 virtual bool ReadCenterOfRotationPoint( InputPointType & rotationPoint ) const;
230
231private:
232
234 SimilarityTransformElastix( const Self & ); // purposely not implemented
236 void operator=( const Self & ); // purposely not implemented
237
239
240};
241
242} // end namespace elastix
243
244#ifndef ITK_MANUAL_INSTANTIATION
245#include "elxSimilarityTransform.hxx"
246#endif
247
248#endif // end #ifndef __elxSimilarityTransform_H__
A class that deals with user given parameters and command line arguments.
A transform based on the itk SimilarityTransforms.
virtual bool ReadCenterOfRotationIndex(InputPointType &rotationPoint) const
elx::TransformBase< TElastix > Superclass2
elxClassNameMacro("SimilarityTransform")
Superclass2::CombinationTransformType CombinationTransformType
virtual void InitializeTransform(void)
void WriteToFile(const ParametersType &param) const override
Superclass2::ConfigurationType ConfigurationType
FixedImageType::SpacingType SpacingType
Superclass1::InputVnlVectorType InputVnlVectorType
Superclass1::InputVectorType InputVectorType
SimilarityTransformPointer m_SimilarityTransform
Superclass1::OutputCovariantVectorType OutputCovariantVectorType
SimilarityTransformType::OffsetType OffsetType
Superclass2::MovingImageType MovingImageType
itk::SmartPointer< const Self > ConstPointer
itk::CenteredTransformInitializer< SimilarityTransformType, FixedImageType, MovingImageType > TransformInitializerType
Superclass1::InputPointType InputPointType
Superclass2::RegistrationType RegistrationType
Superclass2::FixedImageType FixedImageType
TransformInitializerType::Pointer TransformInitializerPointer
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
void BeforeRegistration(void) override
Superclass1::OutputPointType OutputPointType
Superclass2::ElastixPointer ElastixPointer
Superclass1::OutputVnlVectorType OutputVnlVectorType
itk::SimilarityTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > SimilarityTransformType
Superclass2::RegistrationPointer RegistrationPointer
Superclass1::OutputVectorType OutputVectorType
SimilarityTransformType::Pointer SimilarityTransformPointer
Superclass1::NumberOfParametersType NumberOfParametersType
FixedImageType::DirectionType DirectionType
virtual bool ReadCenterOfRotationPoint(InputPointType &rotationPoint) const
Superclass1::ParametersType ParametersType
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
Superclass1::InputCovariantVectorType InputCovariantVectorType
Superclass2::ConfigurationPointer ConfigurationPointer
This class is the elastix base class for all Transforms.
Configuration::Pointer ConfigurationPointer
ElastixType::FixedImageType FixedImageType
itk::WeakPointer< ElastixType > ElastixPointer
OptimizerType::ScalesType ScalesType
RegistrationType * RegistrationPointer
ElastixType::MovingImageType MovingImageType
ElastixType::CoordRepType CoordRepType
ElastixType::RegistrationBaseType RegistrationType
This class combines two transforms: an 'initial transform' with a 'current transform'.
Superclass::InputCovariantVectorType InputCovariantVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::InputVnlVectorType InputVnlVectorType
Transform maps points, vectors and covariant vectors from an input space to an output space.


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo