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  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 
15 #ifndef __elxSimilarityTransform_H__
16 #define __elxSimilarityTransform_H__
17 
18 #include "itkSimilarityTransform.h"
19 #include "itkCenteredTransformInitializer.h"
20 #include "elxIncludes.h"
21 
22 namespace elastix
23 {
24 using namespace itk;
25 
76  template < class TElastix >
79  ITK_TYPENAME elx::TransformBase< TElastix >::CoordRepType,
80  elx::TransformBase< TElastix >::FixedImageDimension >,
81  public elx::TransformBase< TElastix >
82  {
83  public:
84 
91  typedef SmartPointer<Self> Pointer;
92  typedef SmartPointer<const Self> ConstPointer;
93 
96  typedef SimilarityTransform<
99 
101  itkNewMacro( Self );
102 
105 
110  elxClassNameMacro( "SimilarityTransform" );
111 
113  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
114 
121 
130 
132  typedef typename SimilarityTransformType::Pointer SimilarityTransformPointer;
133  typedef typename SimilarityTransformType::OffsetType OffsetType;
134 
147 
149  typedef typename FixedImageType::IndexType IndexType;
150  typedef typename IndexType::IndexValueType IndexValueType;
151  typedef typename FixedImageType::SizeType SizeType;
152  typedef typename FixedImageType::PointType PointType;
153  typedef typename FixedImageType::SpacingType SpacingType;
154  typedef typename FixedImageType::RegionType RegionType;
155  typedef typename FixedImageType::DirectionType DirectionType;
156 
157  typedef CenteredTransformInitializer<
159  typedef typename TransformInitializerType::Pointer TransformInitializerPointer;
160 
163 
168  virtual void BeforeRegistration( void );
169 
185  virtual void InitializeTransform( void );
186 
194  virtual void SetScales( void );
195 
200  virtual void ReadFromFile( void );
201 
205  virtual void WriteToFile( const ParametersType & param ) const;
206 
207  protected:
208 
213 
219  virtual bool ReadCenterOfRotationIndex( InputPointType & rotationPoint ) const;
220 
226  virtual bool ReadCenterOfRotationPoint( InputPointType & rotationPoint ) const;
227 
228  private:
229 
231  SimilarityTransformElastix( const Self& ); // purposely not implemented
233  void operator=( const Self& ); // purposely not implemented
234 
236 
237  }; // end class SimilarityTransformElastix
238 
239 
240 } // end namespace elastix
241 
242 #ifndef ITK_MANUAL_INSTANTIATION
243 #include "elxSimilarityTransform.hxx"
244 #endif
245 
246 #endif // end #ifndef __elxSimilarityTransform_H__
247 
This class combines two transforms: an &#39;initial transform&#39; with a &#39;current transform&#39;.
Superclass::InputCovariantVectorType InputCovariantVectorType
Superclass::RegistrationPointer RegistrationPointer
Superclass::OutputCovariantVectorType OutputCovariantVectorType
#define elxClassNameMacro(_name)
Definition: elxMacro.h:254
Superclass2::ConfigurationType ConfigurationType
Superclass1::ParametersType ParametersType
Superclass1::OutputVectorType OutputVectorType
Superclass2::CombinationTransformType CombinationTransformType
Superclass1::InputPointType InputPointType
AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
OptimizerType::ScalesType ScalesType
Superclass1::OutputCovariantVectorType OutputCovariantVectorType
SmartPointer< const Self > ConstPointer
SimilarityTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > SimilarityTransformType
ElastixType::FixedImageType FixedImageType
FixedImageType::SpacingType SpacingType
FixedImageType::DirectionType DirectionType
Superclass::ElastixType ElastixType
Transform maps points, vectors and covariant vectors from an input space to an output space...
Superclass1::OutputPointType OutputPointType
Superclass1::InputVnlVectorType InputVnlVectorType
SimilarityTransformType::OffsetType OffsetType
Superclass2::RegistrationPointer RegistrationPointer
Superclass2::RegistrationType RegistrationType
TransformInitializerType::Pointer TransformInitializerPointer
ElastixType::MovingImageType MovingImageType
Superclass1::InputVectorType InputVectorType
Superclass::ElastixPointer ElastixPointer
ElastixType::CoordRepType CoordRepType
Superclass::RegistrationType RegistrationType
A transform based on the itk SimilarityTransforms.
Superclass2::MovingImageType MovingImageType
SimilarityTransformPointer m_SimilarityTransform
Superclass2::ConfigurationPointer ConfigurationPointer
Superclass2::FixedImageType FixedImageType
SimilarityTransformType::Pointer SimilarityTransformPointer
This class is the elastix base class for all Transforms.
Superclass2::ElastixPointer ElastixPointer
CenteredTransformInitializer< SimilarityTransformType, FixedImageType, MovingImageType > TransformInitializerType
Superclass::ConfigurationType ConfigurationType
Superclass::OutputVnlVectorType OutputVnlVectorType
Superclass::ConfigurationPointer ConfigurationPointer
Superclass1::OutputVnlVectorType OutputVnlVectorType
Superclass1::InputCovariantVectorType InputCovariantVectorType
Superclass::InputVnlVectorType InputVnlVectorType
elx::TransformBase< TElastix > Superclass2


Generated on 05-12-2013 for elastix by doxygen 1.8.5 elastix logo