00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __freOnePlusOneEvolutionaryOptimizerController_h
00023 #define __freOnePlusOneEvolutionaryOptimizerController_h
00024
00025 #include "freSVNonLinearOptimizerControllerBase.h"
00026
00027 #include "itkOnePlusOneEvolutionaryOptimizer.h"
00028
00029 namespace FREE
00030 {
00031
00032
00042 freControllerIDMacro(OnePlusOneEvolutionaryOptimizerController, "1+1 Evolutionary Optimizer");
00043 class OnePlusOneEvolutionaryOptimizerController : public SVNonLinearOptimizerControllerBase<itk::OnePlusOneEvolutionaryOptimizer>
00044 {
00045 public:
00046 itkTypeMacro(OnePlusOneEvolutionaryOptimizerController, SVNonLinearOptimizerControllerBase);
00047
00048 typedef itk::OnePlusOneEvolutionaryOptimizer ComponentType;
00049 typedef SVNonLinearOptimizerControllerBase<ComponentType> Superclass;
00050
00051 virtual MeasuresType GetCurrentValue(ComponentType* pOptimizer) const;
00052
00053 OnePlusOneEvolutionaryOptimizerController();
00054
00055 protected:
00056 virtual void GenerateProfile(CtrlProfile::ControllerProfile& profile,
00057 const SessionComponentCache* pComponentCache,
00058 bool bRegardOldSetup) const;
00059
00060 virtual GenericComponentType* GetSubComponentCasted(ComponentType* pMainComponent,
00061 const ComponentID& compID,
00062 SessionComponentCache* pMainComponentCache) const;
00063
00064 virtual void SetSubComponentCasted(GenericComponentType* pSubComponent,
00065 ComponentType* pMainComponent,
00066 const ComponentID compID,
00067 SessionComponentCache* pMainComponentCache) const;
00068
00069 virtual void ActualizeMainComponent(ComponentType* pMainComponent,
00070 SessionComponentCache* pComponentCache,
00071 SessionInfo* pSessionInfo,
00072 const unsigned int& iActLevel) const;
00073
00074
00075 virtual void SetStatisticEntryMainComponent(StatisticEntry& rStatisticEntry,
00076 ComponentType* pMainComponent,
00077 SessionComponentCache* pMainComponentCache,
00078 SessionInfo* pSessionInfo,
00079 StatisticDictionary& rDictionary) const;
00080 };
00081
00082 }
00083
00084 #endif