go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxAdvancedAffineTransform.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 __elxAdvancedAffineTransform_H_
16 #define __elxAdvancedAffineTransform_H_
17 
20 
22 #include "elxIncludes.h"
23 
24 namespace elastix
25 {
26 using namespace itk;
27 
75  template < class TElastix >
78  ITK_TYPENAME elx::TransformBase<TElastix>::CoordRepType,
79  elx::TransformBase<TElastix>::FixedImageDimension > ,
80  public elx::TransformBase<TElastix>
81  {
82  public:
83 
90  typedef SmartPointer<Self> Pointer;
91  typedef SmartPointer<const Self> ConstPointer;
92 
99 
101  itkNewMacro( Self );
102 
105 
110  elxClassNameMacro( "AffineTransform" );
111 
113  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
114 
127 
140 
142  typedef typename FixedImageType::IndexType IndexType;
143  typedef typename IndexType::IndexValueType IndexValueType;
144  typedef typename FixedImageType::SizeType SizeType;
145  typedef typename FixedImageType::PointType PointType;
146  typedef typename FixedImageType::SpacingType SpacingType;
147  typedef typename FixedImageType::RegionType RegionType;
148  typedef typename FixedImageType::DirectionType DirectionType;
149 
150  //typedef CenteredTransformInitializer<
155 
158 
163  virtual void BeforeRegistration( void );
164 
180  virtual void InitializeTransform( void );
181 
189  virtual void SetScales( void );
190 
195  virtual void ReadFromFile( void );
196 
200  virtual void WriteToFile( const ParametersType & param ) const;
201 
202  protected:
203 
208 
214  virtual bool ReadCenterOfRotationIndex( InputPointType & rotationPoint ) const;
215 
221  virtual bool ReadCenterOfRotationPoint( InputPointType & rotationPoint ) const;
222 
223  private:
224 
226  AdvancedAffineTransformElastix( const Self& ); // purposely not implemented
228  void operator=( const Self& ); // purposely not implemented
229 
231 
232  }; // end class AdvancedAffineTransformElastix
233 
234 
235 } // end namespace elastix
236 
237 #ifndef ITK_MANUAL_INSTANTIATION
238 #include "elxAdvancedAffineTransform.hxx"
239 #endif
240 
241 #endif // end #ifndef __elxAdvancedAffineTransform_H_


Generated on 21-03-2014 for elastix by doxygen 1.8.1.2 elastix logo