![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
00001 /*====================================================================== 00002 00003 This file is part of the elastix software. 00004 00005 Copyright (c) University Medical Center Utrecht. All rights reserved. 00006 See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for 00007 details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notices for more information. 00012 00013 ======================================================================*/ 00014 00015 #ifndef __elxResampleInterpolatorBase_h 00016 #define __elxResampleInterpolatorBase_h 00017 00019 #include "elxMacro.h" 00020 00021 #include "elxBaseComponentSE.h" 00022 #include "itkInterpolateImageFunction.h" 00023 00024 00025 namespace elastix 00026 { 00027 using namespace itk; 00028 00039 template <class TElastix> 00040 class ResampleInterpolatorBase : public BaseComponentSE<TElastix> 00041 { 00042 public: 00043 00045 typedef ResampleInterpolatorBase Self; 00046 typedef BaseComponentSE<TElastix> Superclass; 00047 00049 itkTypeMacro( ResampleInterpolatorBase, BaseComponentSE ); 00050 00052 typedef typename Superclass::ElastixType ElastixType; 00053 typedef typename Superclass::ElastixPointer ElastixPointer; 00054 typedef typename Superclass::ConfigurationType ConfigurationType; 00055 typedef typename Superclass::ConfigurationPointer ConfigurationPointer; 00056 typedef typename Superclass::RegistrationType RegistrationType; 00057 typedef typename Superclass::RegistrationPointer RegistrationPointer; 00058 00060 typedef typename ElastixType::MovingImageType InputImageType; 00061 typedef typename ElastixType::CoordRepType CoordRepType; 00062 00064 typedef InterpolateImageFunction< 00065 InputImageType, CoordRepType > ITKBaseType; 00066 00068 virtual ITKBaseType * GetAsITKBaseType(void) 00069 { 00070 return dynamic_cast<ITKBaseType *>(this); 00071 } 00072 00074 virtual const ITKBaseType * GetAsITKBaseType(void) const 00075 { 00076 return dynamic_cast<const ITKBaseType *>(this); 00077 } 00078 00082 virtual int BeforeAllTransformix( void ){ return 0;}; 00083 00085 virtual void ReadFromFile( void ); 00086 00088 virtual void WriteToFile( void ) const; 00089 00090 protected: 00091 00093 ResampleInterpolatorBase() {} 00095 virtual ~ResampleInterpolatorBase() {} 00096 00097 private: 00098 00100 ResampleInterpolatorBase( const Self& ); // purposely not implemented 00102 void operator=( const Self& ); // purposely not implemented 00103 00104 }; // end class ResampleInterpolatorBase 00105 00106 00107 } //end namespace elastix 00108 00109 #ifndef ITK_MANUAL_INSTANTIATION 00110 #include "elxResampleInterpolatorBase.hxx" 00111 #endif 00112 00113 #endif // end #ifndef __elxResampleInterpolatorBase_h
Generated on 24-05-2012 for elastix by ![]() |
![]() |