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 
17 #include "elxIncludes.h" // include first to avoid MSVS warning
20 #include "itkAdvancedTransform.h"
21 #include "../Transforms/EulerTransform/itkEulerTransform.h"
22 
23 namespace elastix
24 {
25 
39 template< class TElastix >
41  public
43  typename InterpolatorBase< TElastix >::InputImageType,
44  typename InterpolatorBase< TElastix >::CoordRepType >,
45  public
46  InterpolatorBase< TElastix >
47 {
48 public:
49 
56  typedef itk::SmartPointer< Self > Pointer;
57  typedef itk::SmartPointer< const Self > ConstPointer;
58 
60  itkNewMacro( Self );
61 
64 
69  elxClassNameMacro( "RayCastInterpolator" );
70 
72  itkStaticConstMacro( ImageDimension, unsigned int, Superclass1::ImageDimension );
73 
80  typedef typename Superclass1::SizeType SizeType;
81  typedef typename InputImageType::SpacingType SpacingType;
82 
91 
93  typedef typename itk::EulerTransform<
95  ImageDimension > EulerTransformType;
96  typedef typename EulerTransformType::ParametersType TransformParametersType;
97  typedef typename EulerTransformType::Pointer EulerTransformPointer;
98  typedef typename itk::AdvancedTransform<
100  itkGetStaticConstMacro( ImageDimension ),
101  itkGetStaticConstMacro( ImageDimension ) > AdvancedTransformType;
103  typedef typename itk::AdvancedCombinationTransform<
105  itkGetStaticConstMacro( ImageDimension ) > CombinationTransformType;
107 
108 protected:
109 
112 
114  virtual ~RayCastInterpolator() {}
115 
116  virtual int BeforeAll( void );
117 
118  virtual void BeforeRegistration( void );
119 
120  virtual void BeforeEachResolution( void );
121 
122 private:
123 
125  RayCastInterpolator( const Self & ); // purposely not implemented
126 
128  void operator=( const Self & ); // purposely not implemented
129 
133 
134 };
135 
136 } // end namespace elastix
137 
138 #ifndef ITK_MANUAL_INSTANTIATION
139 #include "elxRayCastInterpolator.hxx"
140 #endif
141 
142 #endif // end #ifndef __elxRayCastInterpolator_h
This class combines two transforms: an 'initial transform' with a 'current transform'.
elxClassNameMacro("RayCastInterpolator")
AdvancedTransformType::Pointer AdvancedTransformPointer
TransformParametersType m_PreParameters
Superclass::ElastixType ElastixType
Superclass2::RegistrationPointer RegistrationPointer
void operator=(const Self &)
An interpolator based on the itkAdvancedRayCastInterpolateImageFunction.
itk::InterpolateImageFunction< InputImageType, CoordRepType > ITKBaseType
virtual void BeforeEachResolution(void)
virtual void BeforeRegistration(void)
Superclass2::ConfigurationType ConfigurationType
Superclass::ElastixPointer ElastixPointer
Superclass::RegistrationType RegistrationType
CombinationTransformPointer m_CombinationTransform
SmartPointer< Self > Pointer
InterpolatorBase< TElastix > Superclass2
Superclass1::PointType PointType
Transform maps points, vectors and covariant vectors from an input space to an output space...
InputImageType::SpacingType SpacingType
itk::EulerTransform< typename InterpolatorBase< TElastix >::CoordRepType, ImageDimension > EulerTransformType
Superclass2::ITKBaseType ITKBaseType
Superclass::ConfigurationType ConfigurationType
itk::AdvancedTransform< typename InterpolatorBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ImageDimension), itkGetStaticConstMacro(ImageDimension) > AdvancedTransformType
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
EulerTransformPointer m_PreTransform
itk::SmartPointer< Self > Pointer
itk::AdvancedRayCastInterpolateImageFunction< typename InterpolatorBase< TElastix >::InputImageType, typename InterpolatorBase< TElastix >::CoordRepType > Superclass1
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
itk::AdvancedCombinationTransform< typename InterpolatorBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ImageDimension) > CombinationTransformType
itk::SmartPointer< const Self > ConstPointer
itkStaticConstMacro(ImageDimension, unsigned int, Superclass1::ImageDimension)
EulerTransformType::Pointer EulerTransformPointer
Superclass2::RegistrationType RegistrationType
Superclass1::IndexType IndexType


Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo