00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __freLimitedAxisAmoebaSOOptimizerController_h
00023 #define __freLimitedAxisAmoebaSOOptimizerController_h
00024
00025 #include "freAmoebaSOOptimizerController.h"
00026
00027 #include "freLimitedAxisAmoebaSOOptimizer.h"
00028
00029 namespace FREE
00030 {
00031
00037 freControllerIDMacro(LimitedAxisAmoebaSOOptimizerController, "Limited Axis Amoeba SO Optimizer");
00038 class LimitedAxisAmoebaSOOptimizerController : public VnlSetupOptimizationOptimizerControllerBase<LimitedAxisAmoebaSOOptimizer>
00039 {
00040 public:
00041 itkTypeMacro(LimitedAxisAmoebaSOOptimizerController, VnlSetupOptimizationOptimizerControllerBase);
00042
00043 typedef LimitedAxisAmoebaSOOptimizer ComponentType;
00044 typedef VnlSetupOptimizationOptimizerControllerBase<ComponentType> Superclass;
00045
00046 DeclareParameterMacro(ParameterAxis);
00047 DeclareParameterMacro(NumberOfAxis);
00048 DeclareParameterMacro(AutoInitialSimplex);
00049 DeclareParameterMacro(SimplexDelta);
00050 DeclareParameterMacro(ParamConvTolerance);
00051 DeclareParameterMacro(FunctConvTolerance);
00052
00053 virtual long GetMaxIterationCount(const SessionComponentCache* pComponentCache, unsigned int iResolutionLevel = 0) const;
00054
00055 LimitedAxisAmoebaSOOptimizerController();
00056
00057 protected:
00058 virtual void GenerateProfile(CtrlProfile::ControllerProfile& profile,
00059 const SessionComponentCache* pComponentCache,
00060 bool bRegardOldSetup) const;
00061
00062 virtual void ActualizeMainComponent(ComponentType* pMainComponent,
00063 SessionComponentCache* pComponentCache,
00064 SessionInfo* pSessionInfo,
00065 const unsigned int& iActLevel) const;
00066
00067 virtual void SetStatisticEntryMainComponent(StatisticEntry& rStatisticEntry,
00068 ComponentType* pMainComponent,
00069 SessionComponentCache* pMainComponentCache,
00070 SessionInfo* pSessionInfo,
00071 StatisticDictionary& rDictionary) const;
00072 };
00073
00074 }
00075
00076 #endif