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: freSetupOptimizationOptimizerControllerBase.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 __freSetupOptimizationOptimizerControllerBase_h 00023 #define __freSetupOptimizationOptimizerControllerBase_h 00024 00025 #include "freOptimizerControllerBase.h" 00026 00027 namespace FREE 00028 { 00029 00035 freControllerIDMacro(SetupOptimizationOptimizerControllerBase, "SetupOptimizationOptimizerBase"); 00036 template <class TControlledOptimizer> 00037 class SetupOptimizationOptimizerControllerBase : public OptimizerControllerBase<TControlledOptimizer> 00038 { 00039 public: 00040 DeclareParameterMacro(Scales); 00041 00042 typedef TControlledOptimizer ComponentType; 00043 typedef OptimizerControllerBase<TControlledOptimizer> Superclass; 00044 itkTypeMacro(SetupOptimizationOptimizerControllerBase, OptimizerControllerBase); 00045 00046 typedef typename Superclass::ParametersType ParametersType; 00047 typedef typename Superclass::MeasuresType MeasuresType; 00048 00049 virtual ParametersType GetCurrentPosition(TControlledOptimizer* pOptimizer) const; 00050 virtual MeasuresType GetCurrentValue(TControlledOptimizer* pOptimizer) const; 00051 00052 protected: 00053 SetupOptimizationOptimizerControllerBase(); 00054 00055 virtual void GenerateProfile(CtrlProfile::ControllerProfile& profile, 00056 const SessionComponentCache* pComponentCache, 00057 bool bRegardOldSetup) const; 00058 00059 virtual void ActualizeMainComponent(ComponentType* pMainComponent, 00060 SessionComponentCache* pComponentCache, 00061 SessionInfo* pSessionInfo, 00062 const unsigned int& iActLevel) const; 00063 }; 00064 00065 00066 } //end of namespace FREE 00067 00068 #ifndef ITK_MANUAL_INSTANTIATION 00069 #include "freSetupOptimizationOptimizerControllerBase.txx" 00070 #endif 00071 00072 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000