00001 /*========================================================================= 00002 00003 Program: F.R.E.E. - flexible registration evaluation engine 00004 Version: v.1.0.0 00005 Date: $Date: 2006/09/01 12:00:00 $ 00006 Module: $RCSfile: freImageMediaControllerBase.h,v $ 00007 Language: C++ 00008 00009 00010 00011 Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics, 00012 Institute for Medical Biometry and Informatics, University of Heidelberg, 00013 Germany). All rights reserved. 00014 See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm 00015 for details. 00016 00017 This software is distributed WITHOUT ANY WARRANTY; without even 00018 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00019 PURPOSE. See the above copyright notices for more information. 00020 00021 =========================================================================*/ 00022 #ifndef __freImageMediaControllerBase_h 00023 #define __freImageMediaControllerBase_h 00024 00025 #include "freStoreableMediaControllerBase.h" 00026 #include "freImageIO.h" 00027 00028 namespace FREE 00029 { 00030 00036 freControllerIDMacro(ImageMediaControllerBase, "ImageMediaBase"); 00037 template <class TImage> 00038 class ImageMediaControllerBase : public StoreableMediaControllerBase< TImage > 00039 { 00040 public: 00041 typedef StoreableMediaControllerBase<TImage> Superclass; 00042 typedef typename Superclass::ComponentType ComponentType; 00043 typedef typename Superclass::ComponentPointer ComponentPointer; 00044 typedef typename Superclass::GenericComponentType GenericComponentType; 00045 typedef typename Superclass::GenericComponentPointer GenericComponentPointer; 00046 typedef typename Superclass::GenericMediaPointer GenericMediaPointer; 00047 00048 itkTypeMacro(ImageMediaControllerBase, StoreableMediaControllerBase); 00049 00050 DeclareParameterMacro(ImageSource); 00051 DeclareParameterMacro(LoadingType); 00052 00053 using MediaControllerBase<ComponentType>::LoadMedia; 00054 virtual ComponentPointer GetComponent(const SessionComponentCache* pComponentCache) const; 00055 virtual unsigned long GetMediaDimension() const; 00056 00057 virtual ValidityTag::Pointer GetMediaValidityTagRequirement(const MediaID& mediaID, 00058 SessionComponentCache* pComponentCache) const; 00059 00060 ImageMediaControllerBase(); 00061 protected: 00062 virtual ComponentPointer BuildMainComponent(ComponentSetup* pComponentSetup, 00063 SessionComponentCache* pComponentCache) const; 00064 00065 virtual GenericMediaPointer GetMediaCasted(const MediaID& mediaID, 00066 ComponentType* pComponent, 00067 SessionComponentCache* pComponentCache, 00068 SessionInfo* pSessionInfo) const; 00069 00070 virtual void GenerateProfile(CtrlProfile::ControllerProfile& profile, 00071 const SessionComponentCache* pComponentCache, 00072 bool bRegardOldSetup) const; 00073 }; 00074 00075 } //end of namespace free 00076 00077 #ifndef ITK_MANUAL_INSTANTIATION 00078 #include "freImageMediaControllerBase.txx" 00079 #endif 00080 00081 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000