00001 /*========================================================================= 00002 00003 Program: F.R.E.E. - flexible registration evaluation engine 00004 Version: v.1.0.0 00005 Date: $Date: 2007/04/12 12:00:00 $ 00006 Module: $RCSfile: freParameterListMediaController.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 __freParameterListMediaController_h 00023 #define __freParameterListMediaController_h 00024 00025 #include "freStoreableMediaControllerBase.h" 00026 #include "freParameterListIO.h" 00027 00028 namespace FREE 00029 { 00030 00036 freControllerIDMacro(ParameterListMediaController, "Parameter List Media"); 00037 class ParameterListMediaController : public StoreableMediaControllerBase< ParameterListIO > 00038 { 00039 public: 00040 typedef ParameterListIO ComponentType; 00041 typedef StoreableMediaControllerBase<ComponentType> Superclass; 00042 typedef Superclass::ComponentPointer ComponentPointer; 00043 typedef Superclass::GenericComponentType GenericComponentType; 00044 typedef Superclass::GenericComponentPointer GenericComponentPointer; 00045 typedef Superclass::GenericMediaPointer GenericMediaPointer; 00046 00047 itkTypeMacro(ParameterListMediaController, StoreableMediaControllerBase); 00048 00049 DeclareParameterMacro(ReadMode); 00050 DeclareParameterMacro(ParameterLink); 00051 00052 ParameterListMediaController(); 00053 00054 virtual ~ParameterListMediaController(); 00055 00056 virtual GenericMediaPointer ComputeActualizedMedia(GenericMediaType* pGenericMedia, 00057 GenericMediaType* pGenericTransformationField) const; 00058 00059 virtual GenericMediaPointer ComputeActualizedMediaByFunction(GenericMediaType* pGenericMedia, 00060 GenericMediaType* pGenericTransformationFunction) const; 00061 00062 virtual bool SaveMedia(std::string sMediaPath, GenericMediaType* pMedia) const; 00063 00064 virtual bool SaveMedia(SessionComponentCache* pCache) const; 00065 00066 virtual bool LoadMedia(SessionComponentCache* pCache) const; 00067 00068 virtual unsigned long GetMediaDimension() const; 00069 00070 virtual ValidityTag::Pointer GetMediaValidityTagRequirement(const MediaID& mediaID, 00071 SessionComponentCache* pComponentCache) const; 00072 00073 protected: 00074 virtual void GenerateProfile(CtrlProfile::ControllerProfile& profile, 00075 const SessionComponentCache* pComponentCache, 00076 bool bRegardOldSetup) const; 00077 00078 virtual ComponentPointer BuildMainComponent(ComponentSetup* pComponentSetup, SessionComponentCache* pComponentCache) const; 00079 00080 }; 00081 00082 } //end of namespace free 00083 00084 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000