00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __mitkPowellOptimizer_h
00012 #define __mitkPowellOptimizer_h
00013
00014 #include "mitkOptimizer.h"
00015
00024
00025 class MITK_REGISTRATION_API mitkPowellOptimizer : public mitkOptimizer
00026 {
00027 public:
00028 MITK_TYPE(mitkPowellOptimizer, mitkOptimizer)
00029 virtual void PrintSelf(ostream &os);
00030
00034 mitkPowellOptimizer();
00035
00041 void SetStepTolerance(double tolerance) { m_StepTolerance = tolerance; }
00042
00049 void SetValueTolerance(double tolerance) { m_ValueTolerance = tolerance; }
00050
00055 void SetMaximumLineIterations(unsigned int mli) { m_MaximumLineIteration = mli; }
00056
00061 virtual void SetCurrentStepLength(double length) { m_StepLength = length; }
00062
00063 protected:
00064 virtual ~mitkPowellOptimizer();
00065 virtual bool Execute();
00066
00067 double m_StepLength;
00068 double m_StepTolerance;
00069 double m_ValueTolerance;
00070 unsigned int m_MaximumLineIteration;
00071
00072 private:
00073 mitkPowellOptimizer(const mitkPowellOptimizer&);
00074 void operator = (const mitkPowellOptimizer&);
00075 };
00076
00077
00078
00079
00080
00081
00082 #endif
00083