go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxInterpolatorBase.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 
15 #ifndef __elxInterpolatorBase_h
16 #define __elxInterpolatorBase_h
17 
19 #include "elxMacro.h"
20 
21 #include "elxBaseComponentSE.h"
22 
23 #include "itkInterpolateImageFunction.h"
24 
25 namespace elastix
26 {
27 
38 template< class TElastix >
39 class InterpolatorBase : public BaseComponentSE< TElastix >
40 {
41 public:
42 
46 
49 
51  typedef typename Superclass::ElastixType ElastixType;
57 
59  typedef typename ElastixType::MovingImageType InputImageType;
60  typedef typename ElastixType::CoordRepType CoordRepType;
61 
63  typedef itk::InterpolateImageFunction<
65 
67  virtual ITKBaseType * GetAsITKBaseType( void )
68  {
69  return dynamic_cast< ITKBaseType * >( this );
70  }
71 
72 
74  virtual const ITKBaseType * GetAsITKBaseType( void ) const
75  {
76  return dynamic_cast< const ITKBaseType * >( this );
77  }
78 
79 
80 protected:
81 
85  virtual ~InterpolatorBase() {}
86 
87 private:
88 
90  InterpolatorBase( const Self & ); // purposely not implemented
92  void operator=( const Self & ); // purposely not implemented
93 
94 };
95 
96 } // end namespace elastix
97 
98 #ifndef ITK_MANUAL_INSTANTIATION
99 #include "elxInterpolatorBase.hxx"
100 #endif
101 
102 #endif // end #ifndef __elxInterpolatorBase_h
The BaseComponentSE class is a base class for elastix components that provides some basic functionali...
ElastixType::RegistrationBaseType RegistrationType
ElastixType::ConfigurationPointer ConfigurationPointer
ElastixType::Pointer ElastixPointer
ElastixType::ConfigurationType ConfigurationType
Superclass::ElastixType ElastixType
itk::InterpolateImageFunction< InputImageType, CoordRepType > ITKBaseType
Superclass::ElastixPointer ElastixPointer
Superclass::RegistrationType RegistrationType
RegistrationType * RegistrationPointer
virtual ITKBaseType * GetAsITKBaseType(void)
Superclass::ConfigurationType ConfigurationType
ElastixType::CoordRepType CoordRepType
This class is the elastix base class for all Interpolators.
BaseComponentSE< TElastix > Superclass
ElastixType::MovingImageType InputImageType
virtual const ITKBaseType * GetAsITKBaseType(void) const
Superclass::RegistrationPointer RegistrationPointer
Superclass::ConfigurationPointer ConfigurationPointer
void operator=(const Self &)


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