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 
26 namespace elastix
27 {
28 
39  template <class TElastix>
40  class InterpolatorBase : public BaseComponentSE<TElastix>
41  {
42  public:
43 
47 
50 
52  typedef typename Superclass::ElastixType ElastixType;
58 
60  typedef typename ElastixType::MovingImageType InputImageType;
61  typedef typename ElastixType::CoordRepType CoordRepType;
62 
64  typedef itk::InterpolateImageFunction<
66 
68  virtual ITKBaseType * GetAsITKBaseType(void)
69  {
70  return dynamic_cast<ITKBaseType *>(this);
71  }
72 
74  virtual const ITKBaseType * GetAsITKBaseType(void) const
75  {
76  return dynamic_cast<const ITKBaseType *>(this);
77  }
78 
79  protected:
80 
84  virtual ~InterpolatorBase() {}
85 
86  private:
87 
89  InterpolatorBase( const Self& ); // purposely not implemented
91  void operator=( const Self& ); // purposely not implemented
92 
93  }; // end class InterpolatorBase
94 
95 
96 } // end namespace elastix
97 
98 
99 
100 #ifndef ITK_MANUAL_INSTANTIATION
101 #include "elxInterpolatorBase.hxx"
102 #endif
103 
104 #endif // end #ifndef __elxInterpolatorBase_h
105 
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
Superclass::ElastixPointer ElastixPointer
Superclass::RegistrationType RegistrationType
RegistrationType * RegistrationPointer
itk::InterpolateImageFunction< InputImageType, CoordRepType > ITKBaseType
virtual ITKBaseType * GetAsITKBaseType(void)
Superclass::ConfigurationType ConfigurationType
ElastixType::CoordRepType CoordRepType
This class is the elastix base class for all Interpolators.
ElastixType::MovingImageType InputImageType
virtual const ITKBaseType * GetAsITKBaseType(void) const
Superclass::RegistrationPointer RegistrationPointer
BaseComponentSE< TElastix > Superclass
Superclass::ConfigurationPointer ConfigurationPointer
void operator=(const Self &)


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