go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxAdvancedBSplineTransform.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 #ifndef __elxAdvancedBSplineTransform_h
15 #define __elxAdvancedBSplineTransform_h
16 
19 
24 
25 #include "elxIncludes.h"
26 
27 
28 namespace elastix
29 {
104 template < class TElastix >
106  : public
108  ITK_TYPENAME elx::TransformBase<TElastix>::CoordRepType,
109  elx::TransformBase<TElastix>::FixedImageDimension > ,
110  public
111  TransformBase<TElastix>
112 {
113 public:
114 
121  typedef SmartPointer<Self> Pointer;
122  typedef SmartPointer<const Self> ConstPointer;
123 
125  itkNewMacro( Self );
126 
129 
134  elxClassNameMacro( "BSplineTransform" );
135 
137  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass2::FixedImageDimension );
138 
144  itkGetStaticConstMacro( SpaceDimension )> BSplineTransformBaseType;
146 
150  itkGetStaticConstMacro( SpaceDimension ),
154  itkGetStaticConstMacro( SpaceDimension ),
158  itkGetStaticConstMacro( SpaceDimension ),
162  itkGetStaticConstMacro( SpaceDimension ),
166  itkGetStaticConstMacro( SpaceDimension ),
170  itkGetStaticConstMacro( SpaceDimension ),
172 
185 
196  typedef typename
198  typedef typename
200 
213 
215  typedef GridScheduleComputer<
220  typedef typename GridScheduleComputerType
225 
230  virtual int BeforeAll( void );
231 
243  virtual void BeforeRegistration( void );
244 
249  virtual void BeforeEachResolution( void );
250 
256  virtual void InitializeTransform( void );
257 
263  virtual void IncreaseScale( void );
264 
266  virtual void ReadFromFile( void );
267 
269  virtual void WriteToFile( const ParametersType & param ) const;
270 
272  virtual void SetOptimizerScales( const unsigned int edgeWidth );
273 
274 protected:
275 
278 
281 
283  virtual void PreComputeGridInformation( void );
284 
285 private:
286 
288  AdvancedBSplineTransform( const Self& ); // purposely not implemented
290  void operator=( const Self& ); // purposely not implemented
291 
296 
298  unsigned int m_SplineOrder;
299  bool m_Cyclic;
300 
302  unsigned int InitializeBSplineTransform();
303 
304 }; // end class AdvancedBSplineTransform
305 
306 
307 } // end namespace elastix
308 
309 #ifndef ITK_MANUAL_INSTANTIATION
310 #include "elxAdvancedBSplineTransform.hxx"
311 #endif
312 
313 #endif // end #ifndef __elxAdvancedBSplineTransform_h
314 


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