Orfeo Toolbox  3.16
itkExhaustiveOptimizer.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkExhaustiveOptimizer.h,v $
5  Language: C++
6  Date: $Date: 2009-06-24 23:35:49 $
7  Version: $Revision: 1.8 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkExhaustiveOptimizer_h
18 #define __itkExhaustiveOptimizer_h
19 
21 
22 namespace itk
23 {
24 
82 {
83 public:
89 
92  itkNewMacro(Self);
93 
96 
97  virtual void StartOptimization( void );
98 
99  void StartWalking( void );
100  void ResumeWalking( void );
101  void StopWalking(void);
102 
103  itkSetMacro( StepLength, double );
104  itkSetMacro( NumberOfSteps, StepsType );
105  itkGetConstReferenceMacro( StepLength, double );
106  itkGetConstReferenceMacro( NumberOfSteps, StepsType );
107  itkGetConstReferenceMacro( CurrentValue, MeasureType );
108  itkGetConstReferenceMacro( MaximumMetricValue, MeasureType );
109  itkGetConstReferenceMacro( MinimumMetricValue, MeasureType );
110  itkGetConstReferenceMacro( MinimumMetricValuePosition, ParametersType );
111  itkGetConstReferenceMacro( MaximumMetricValuePosition, ParametersType );
112  itkGetConstReferenceMacro( CurrentIndex, ParametersType );
113  itkGetConstReferenceMacro( MaximumNumberOfIterations, unsigned long );
114 
116  const std::string GetStopConditionDescription() const;
117 
118 protected:
120  virtual ~ExhaustiveOptimizer() {};
121  void PrintSelf(std::ostream& os, Indent indent) const;
122 
124  void AdvanceOneStep( void );
125  void IncrementIndex( ParametersType & param );
126 
127 
128 protected:
129  MeasureType m_CurrentValue;
131  unsigned long m_CurrentIteration;
132  bool m_Stop;
133  unsigned int m_CurrentParameter;
134  double m_StepLength;
135  ParametersType m_CurrentIndex;
137  MeasureType m_MaximumMetricValue;
138  MeasureType m_MinimumMetricValue;
141 
142 private:
143  ExhaustiveOptimizer(const Self&); //purposely not implemented
144  void operator=(const Self&);//purposely not implemented
145 
147 };
148 
149 } // end namespace itk
150 
151 #endif

Generated at Sat Feb 2 2013 23:36:04 for Orfeo Toolbox with doxygen 1.8.1.1