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 
40 template < class TElastix >
42 public
44  typename InterpolatorBase<TElastix>::InputImageType,
45  typename InterpolatorBase<TElastix>::CoordRepType >,
46 public
47  InterpolatorBase<TElastix>
48 {
49 public:
50 
57  typedef itk::SmartPointer<Self> Pointer;
58  typedef itk::SmartPointer<const Self> ConstPointer;
59 
61  itkNewMacro( Self );
62 
65 
70  elxClassNameMacro( "RayCastInterpolator" );
71 
73  itkStaticConstMacro( ImageDimension, unsigned int, Superclass1::ImageDimension );
74 
81  typedef typename Superclass1::SizeType SizeType;
82  typedef typename InputImageType::SpacingType SpacingType;
83 
92 
94  typedef typename itk::EulerTransform<
96  ImageDimension > EulerTransformType;
97  typedef typename EulerTransformType::ParametersType TransformParametersType;
98  typedef typename EulerTransformType::Pointer EulerTransformPointer;
99  typedef typename itk::AdvancedTransform<
101  itkGetStaticConstMacro( ImageDimension ),
102  itkGetStaticConstMacro( ImageDimension ) > AdvancedTransformType;
104  typedef typename itk::AdvancedCombinationTransform<
106  itkGetStaticConstMacro( ImageDimension ) > CombinationTransformType;
108 
109 protected:
110 
113 
115  virtual ~RayCastInterpolator() {}
116 
117  virtual int BeforeAll( void );
118 
119  virtual void BeforeRegistration( void );
120 
121  virtual void BeforeEachResolution( void );
122 
123  private:
124 
126  RayCastInterpolator( const Self& ); // purposely not implemented
127 
129  void operator=( const Self& ); // purposely not implemented
130 
134 
135 }; // end class RayCastInterpolator
136 
137 
138 } // end namespace elastix
139 
140 #ifndef ITK_MANUAL_INSTANTIATION
141 #include "elxRayCastInterpolator.hxx"
142 #endif
143 
144 #endif // end #ifndef __elxRayCastInterpolator_h
145 
This class combines two transforms: an &#39;initial transform&#39; with a &#39;current transform&#39;.
elxClassNameMacro("RayCastInterpolator")
AdvancedTransformType::Pointer AdvancedTransformPointer
TransformParametersType m_PreParameters
Superclass::ElastixType ElastixType
Superclass2::RegistrationPointer RegistrationPointer
void operator=(const Self &)
An interpolator based on the itkAdvancedRayCastInterpolateImageFunction.
virtual void BeforeEachResolution(void)
itk::AdvancedCombinationTransform< typename InterpolatorBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ImageDimension) > CombinationTransformType
virtual void BeforeRegistration(void)
Superclass2::ConfigurationType ConfigurationType
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::AdvancedRayCastInterpolateImageFunction< typename InterpolatorBase< TElastix >::InputImageType, typename InterpolatorBase< TElastix >::CoordRepType > Superclass1
itk::SmartPointer< const Self > ConstPointer
itk::InterpolateImageFunction< InputImageType, CoordRepType > ITKBaseType
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
virtual int BeforeAll(void)
Superclass1::ContinuousIndexType ContinuousIndexType
Superclass1::InputImageType InputImageType
itkStaticConstMacro(ImageDimension, unsigned int, Superclass1::ImageDimension)
EulerTransformType::Pointer EulerTransformPointer
itk::SmartPointer< Self > Pointer
Superclass2::RegistrationType RegistrationType
Superclass1::IndexType IndexType


Generated on 05-01-2014 for elastix by doxygen 1.8.5 elastix logo