![]() |
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 __elxFixedImagePyramidBase_h 00016 #define __elxFixedImagePyramidBase_h 00017 00019 #include "elxMacro.h" 00020 00021 #include "elxBaseComponentSE.h" 00022 #include "itkObject.h" 00023 #include "itkMultiResolutionPyramidImageFilter.h" 00024 00025 00026 namespace elastix 00027 { 00028 using namespace itk; 00029 00056 template <class TElastix> 00057 class FixedImagePyramidBase : public BaseComponentSE<TElastix> 00058 { 00059 public: 00060 00062 typedef FixedImagePyramidBase Self; 00063 typedef BaseComponentSE<TElastix> Superclass; 00064 00066 itkTypeMacro( FixedImagePyramidBase, BaseComponentSE ); 00067 00069 typedef typename Superclass::ElastixType ElastixType; 00070 typedef typename Superclass::ElastixPointer ElastixPointer; 00071 typedef typename Superclass::ConfigurationType ConfigurationType; 00072 typedef typename Superclass::ConfigurationPointer ConfigurationPointer; 00073 typedef typename Superclass::RegistrationType RegistrationType; 00074 typedef typename Superclass::RegistrationPointer RegistrationPointer; 00075 00077 typedef typename ElastixType::FixedImageType InputImageType; 00078 typedef typename ElastixType::FixedImageType OutputImageType; 00079 00081 typedef MultiResolutionPyramidImageFilter< 00082 InputImageType, OutputImageType > ITKBaseType; 00083 00085 typedef typename ITKBaseType::ScheduleType ScheduleType; 00086 00088 virtual ITKBaseType * GetAsITKBaseType( void ) 00089 { 00090 return dynamic_cast<ITKBaseType *>(this); 00091 } 00092 00094 virtual const ITKBaseType * GetAsITKBaseType( void ) const 00095 { 00096 return dynamic_cast<const ITKBaseType *>(this); 00097 } 00098 00102 virtual void BeforeRegistrationBase( void ); 00103 00107 virtual void BeforeEachResolutionBase( void ); 00108 00110 virtual void SetFixedSchedule( void ); 00111 00113 virtual void WritePyramidImage( const std::string & filename, 00114 const unsigned int & level );// const; 00115 00116 protected: 00117 00119 FixedImagePyramidBase() {} 00121 virtual ~FixedImagePyramidBase() {} 00122 00123 private: 00124 00126 FixedImagePyramidBase( const Self& ); // purposely not implemented 00128 void operator=( const Self& ); // purposely not implemented 00129 00130 }; // end class FixedImagePyramidBase 00131 00132 00133 } // end namespace elastix 00134 00135 00136 #ifndef ITK_MANUAL_INSTANTIATION 00137 #include "elxFixedImagePyramidBase.hxx" 00138 #endif 00139 00140 00141 #endif // end #ifndef __elxFixedImagePyramidBase_h
Generated on 11-05-2012 for elastix by ![]() |
![]() |