go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxRayCastResampleInterpolator.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright UMC Utrecht and contributors
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef __elxRayCastResampleInterpolator_h
19 #define __elxRayCastResampleInterpolator_h
20 
21 #include "elxIncludes.h" // include first to avoid MSVS warning
24 #include "itkAdvancedTransform.h"
25 #include "itkEulerTransform.h"
26 
27 namespace elastix
28 {
29 
37 template< class TElastix >
39  public
41  typename ResampleInterpolatorBase< TElastix >::InputImageType,
42  typename ResampleInterpolatorBase< TElastix >::CoordRepType >,
43  public ResampleInterpolatorBase< TElastix >
44 {
45 public:
46 
53  typedef itk::SmartPointer< Self > Pointer;
54  typedef itk::SmartPointer< const Self > ConstPointer;
55 
57  itkNewMacro( Self );
58 
61 
66  elxClassNameMacro( "FinalRayCastInterpolator" );
67 
69  itkStaticConstMacro( ImageDimension, unsigned int, Superclass1::ImageDimension );
70 
77  typedef typename Superclass1::SizeType SizeType;
78  typedef typename InputImageType::SpacingType SpacingType;
79 
88 
90  typedef typename itk::EulerTransform<
91  typename InterpolatorBase< TElastix >::CoordRepType, ImageDimension >
95  typedef typename itk::AdvancedTransform<
96  typename InterpolatorBase< TElastix >::CoordRepType,
97  itkGetStaticConstMacro( ImageDimension ),
98  itkGetStaticConstMacro( ImageDimension ) > AdvancedTransformType;
100  typedef typename itk::AdvancedCombinationTransform<
101  typename InterpolatorBase< TElastix >::CoordRepType,
102  itkGetStaticConstMacro( ImageDimension ) > CombinationTransformType;
104 
105  virtual int BeforeAll( void );
106 
107  virtual void BeforeRegistration( void );
108 
110  virtual void ReadFromFile( void );
111 
113  virtual void WriteToFile( void ) const;
114 
115 protected:
116 
119 
122 
126  void InitializeRayCastInterpolator( void );
127 
128 private:
129 
131  RayCastResampleInterpolator( const Self & ); // purposely not implemented
132 
134  void operator=( const Self & ); // purposely not implemented
135 
136  EulerTransformPointer m_PreTransform;
137  TransformParametersType m_PreParameters;
138  CombinationTransformPointer m_CombinationTransform;
139 
140 };
141 
142 } // end namespace elastix
143 
144 #ifndef ITK_MANUAL_INSTANTIATION
145 #include "elxRayCastResampleInterpolator.hxx"
146 #endif
147 
148 #endif // end __elxRayCastResampleInterpolator_h
This class combines two transforms: an 'initial transform' with a 'current transform'.
Superclass::RegistrationType RegistrationType
virtual void WriteToFile(void) const
itk::EulerTransform< typename InterpolatorBase< TElastix >::CoordRepType, ImageDimension > EulerTransformType
Superclass2::ConfigurationPointer ConfigurationPointer
ElastixType::MovingImageType InputImageType
itk::AdvancedCombinationTransform< typename InterpolatorBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ImageDimension) > CombinationTransformType
AdvancedTransformType::Pointer AdvancedTransformPointer
CombinationTransformType::Pointer CombinationTransformPointer
EulerTransformType::ParametersType TransformParametersType
This class combines the Euler2DTransform with the Euler3DTransform.
Superclass2::ConfigurationType ConfigurationType
itkStaticConstMacro(ImageDimension, unsigned int, Superclass1::ImageDimension)
Transform maps points, vectors and covariant vectors from an input space to an output space...
ResampleInterpolatorBase< TElastix > Superclass2
Superclass2::RegistrationPointer RegistrationPointer
Superclass::ConfigurationPointer ConfigurationPointer
Superclass1::ContinuousIndexType ContinuousIndexType
itk::AdvancedRayCastInterpolateImageFunction< typename ResampleInterpolatorBase< TElastix >::InputImageType, typename ResampleInterpolatorBase< TElastix >::CoordRepType > Superclass1
This class is the elastix base class for all ResampleInterpolators.
ElastixType::CoordRepType CoordRepType
Superclass::RegistrationPointer RegistrationPointer
Projective interpolation of an image at specified positions.
itk::AdvancedTransform< typename InterpolatorBase< TElastix >::CoordRepType, itkGetStaticConstMacro(ImageDimension), itkGetStaticConstMacro(ImageDimension) > AdvancedTransformType
elxClassNameMacro("FinalRayCastInterpolator")
itk::InterpolateImageFunction< InputImageType, CoordRepType > ITKBaseType
Superclass::ConfigurationType ConfigurationType
Superclass::ParametersType ParametersType


Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo