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 
This class combines two transforms: an &#39;initial transform&#39; with a &#39;current transform&#39;.
AdvancedTransformType::Pointer AdvancedTransformPointer
#define elxClassNameMacro(_name)
Definition: elxMacro.h:254
TransformParametersType m_PreParameters
Superclass::ElastixType ElastixType
Superclass2::RegistrationPointer RegistrationPointer
An interpolator based on the itkAdvancedRayCastInterpolateImageFunction.
itk::AdvancedCombinationTransform< typename InterpolatorBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ImageDimension) > CombinationTransformType
AdvancedRayCastInterpolateImageFunction< typename InterpolatorBase< TElastix >::InputImageType, typename InterpolatorBase< TElastix >::CoordRepType > Superclass1
Superclass2::ConfigurationType ConfigurationType
InterpolateImageFunction< InputImageType, CoordRepType > ITKBaseType
Superclass::ElastixPointer ElastixPointer
Superclass::RegistrationType RegistrationType
CombinationTransformPointer m_CombinationTransform
SmartPointer< Self > Pointer
Superclass1::PointType PointType
Transform maps points, vectors and covariant vectors from an input space to an output space...
InputImageType::SpacingType SpacingType
itk::AdvancedTransform< typename InterpolatorBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ImageDimension), itkGetStaticConstMacro(ImageDimension) > AdvancedTransformType
Superclass2::ITKBaseType ITKBaseType
Superclass::ConfigurationType ConfigurationType
ElastixType::CoordRepType CoordRepType
This class is the elastix base class for all Interpolators.
Projective interpolation of an image at specified positions.
EulerTransformType::ParametersType TransformParametersType
Superclass2::ElastixPointer ElastixPointer
ElastixType::MovingImageType InputImageType
InterpolatorBase< TElastix > Superclass2
EulerTransformPointer m_PreTransform
itk::EulerTransform< typename InterpolatorBase< TElastix >::CoordRepType, ImageDimension > EulerTransformType
Superclass1::OutputType OutputType
Superclass2::ConfigurationPointer ConfigurationPointer
Superclass::RegistrationPointer RegistrationPointer
CombinationTransformType::Pointer CombinationTransformPointer
Superclass::ConfigurationPointer ConfigurationPointer
Superclass2::ElastixType ElastixType
Superclass1::ContinuousIndexType ContinuousIndexType
SmartPointer< const Self > ConstPointer
Superclass1::InputImageType InputImageType
EulerTransformType::Pointer EulerTransformPointer
Superclass2::RegistrationType RegistrationType
Superclass1::IndexType IndexType


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