go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxRayCastInterpolator.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 __elxRayCastInterpolator_h
15 #define __elxRayCastInterpolator_h
16 
19 #include "itkAdvancedTransform.h"
20 #include "../Transforms/EulerTransform/itkEulerTransform.h"
21 #include "elxIncludes.h"
22 
23 namespace elastix
24 {
25 
26 using namespace itk;
27 
41 template < class TElastix >
43 public
45  ITK_TYPENAME InterpolatorBase<TElastix>::InputImageType,
46  ITK_TYPENAME InterpolatorBase<TElastix>::CoordRepType >,
47 public
48  InterpolatorBase<TElastix>
49 {
50 public:
51 
58  typedef SmartPointer<Self> Pointer;
59  typedef SmartPointer<const Self> ConstPointer;
60 
62  itkNewMacro( Self );
63 
66 
71  elxClassNameMacro( "RayCastInterpolator" );
72 
74  itkStaticConstMacro( ImageDimension, unsigned int, Superclass1::ImageDimension );
75 
82  typedef typename Superclass1::SizeType SizeType;
83  typedef typename InputImageType::SpacingType SpacingType;
84 
93 
95  typedef typename itk::EulerTransform<
97  ImageDimension > EulerTransformType;
98  typedef typename EulerTransformType::ParametersType TransformParametersType;
99  typedef typename EulerTransformType::Pointer EulerTransformPointer;
100  typedef typename itk::AdvancedTransform<
102  itkGetStaticConstMacro( ImageDimension ),
103  itkGetStaticConstMacro( ImageDimension ) > AdvancedTransformType;
105  typedef typename itk::AdvancedCombinationTransform<
107  itkGetStaticConstMacro( ImageDimension ) > CombinationTransformType;
109 
110 protected:
111 
114 
116  virtual ~RayCastInterpolator() {}
117 
118  virtual int BeforeAll( void );
119 
120  virtual void BeforeRegistration( void );
121 
122  virtual void BeforeEachResolution( void );
123 
124  private:
125 
127  RayCastInterpolator( const Self& ); // purposely not implemented
128 
130  void operator=( const Self& ); // purposely not implemented
131 
135 
136 }; // end class RayCastInterpolator
137 
138 
139 } // end namespace elastix
140 
141 #ifndef ITK_MANUAL_INSTANTIATION
142 #include "elxRayCastInterpolator.hxx"
143 #endif
144 
145 #endif // end #ifndef __elxRayCastInterpolator_h
146 


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