go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxResampleInterpolatorBase.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 
19 #ifndef __elxResampleInterpolatorBase_h
20 #define __elxResampleInterpolatorBase_h
21 
23 #include "elxMacro.h"
24 
25 #include "elxBaseComponentSE.h"
26 #include "itkInterpolateImageFunction.h"
27 
28 namespace elastix
29 {
30 
41 template< class TElastix >
42 class ResampleInterpolatorBase : public BaseComponentSE< TElastix >
43 {
44 public:
45 
49 
52 
54  typedef typename Superclass::ElastixType ElastixType;
60 
62  typedef typename ElastixType::MovingImageType InputImageType;
63  typedef typename ElastixType::CoordRepType CoordRepType;
64 
66  typedef itk::InterpolateImageFunction<
67  InputImageType, CoordRepType > ITKBaseType;
68 
70  typedef typename ElastixType::ParameterMapType ParameterMapType;
71 
73  virtual ITKBaseType * GetAsITKBaseType( void )
74  {
75  return dynamic_cast< ITKBaseType * >( this );
76  }
77 
78 
80  virtual const ITKBaseType * GetAsITKBaseType( void ) const
81  {
82  return dynamic_cast< const ITKBaseType * >( this );
83  }
84 
85 
89  virtual int BeforeAllTransformix( void ){ return 0; }
90 
92  virtual void ReadFromFile( void );
93 
95  virtual void WriteToFile( void ) const;
96 
98  virtual void CreateTransformParametersMap( ParameterMapType * paramsMap ) const;
99 
100 protected:
101 
106 
107 private:
108 
110  ResampleInterpolatorBase( const Self & ); // purposely not implemented
112  void operator=( const Self & ); // purposely not implemented
113 
114 };
115 
116 } //end namespace elastix
117 
118 #ifndef ITK_MANUAL_INSTANTIATION
119 #include "elxResampleInterpolatorBase.hxx"
120 #endif
121 
122 #endif // end #ifndef __elxResampleInterpolatorBase_h
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
Superclass::RegistrationType RegistrationType
ElastixType::RegistrationBaseType RegistrationType
ElastixType::ConfigurationPointer ConfigurationPointer
ElastixType::MovingImageType InputImageType
ElastixType::Pointer ElastixPointer
ElastixType::ConfigurationType ConfigurationType
virtual void CreateTransformParametersMap(ParameterMapType *paramsMap) const
virtual ITKBaseType * GetAsITKBaseType(void)
ElastixType::ParameterMapType ParameterMapType
RegistrationType * RegistrationPointer
Superclass::ConfigurationPointer ConfigurationPointer
This class is the elastix base class for all ResampleInterpolators.
Superclass::RegistrationPointer RegistrationPointer
virtual const ITKBaseType * GetAsITKBaseType(void) const
itk::InterpolateImageFunction< InputImageType, CoordRepType > ITKBaseType
virtual void WriteToFile(void) const
Superclass::ConfigurationType ConfigurationType


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