Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkOptimizerParameters.cpp
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
18 
19 namespace mitk
20 {
22  : m_Optimizer(EXHAUSTIVEOPTIMIZER),
23  // for all Optimizer
24  m_Dimension(2),
25  m_Maximize(false),
26 
27  // for itk::ExhaustiveOptimizer
28  m_StepLengthExhaustive(1.0),
29  m_NumberOfStepsExhaustive(10),
30 
31  // for itk::GradientDescentOptimizer
32  m_LearningRateGradientDescent(0.01),
33  m_NumberOfIterationsGradientDescent(200),
34 
35  // for itk::QuaternionRigidTransformGradientDescentOptimizer
36  m_LearningRateQuaternionRigidTransformGradientDescent(0.01),
37  m_NumberOfIterationsQuaternionRigidTransformGradientDescent(200),
38 
39  // for itk::LBFGSBOptimizer
40 
41  // for itk::OnePlusOneEvolutionaryOptimizer
42  m_GrowthFactorOnePlusOneEvolutionary(0.01),
43  m_ShrinkFactorOnePlusOneEvolutionary(0.001),
44  m_EpsilonOnePlusOneEvolutionary(2),
45  m_InitialRadiusOnePlusOneEvolutionary(1),
46  m_NumberOfIterationsOnePlusOneEvolutionary(200),
47 
48  // for itk::PowellOptimizer
49  m_StepLengthPowell(0.01),
50  m_StepTolerancePowell(0.001),
51  m_ValueTolerancePowell(0.001),
52  m_NumberOfIterationsPowell(200),
53 
54  // for itk::FRPROptimizer
55  m_StepLengthFRPR(0.01),
56  m_FletchReevesFRPR(true),
57  m_PolakRibiereFRPR(false),
58  m_NumberOfIterationsFRPR(200),
59 
60  // for itk::RegularStepGradientDescentOptimizer
61  m_GradientMagnitudeToleranceRegularStepGradientDescent(0.0001),
62  m_MinimumStepLengthRegularStepGradientDescent(0.001),
63  m_MaximumStepLengthRegularStepGradientDescent(1.0),
64  m_NumberOfIterationsRegularStepGradientDescent(100),
65  m_RelaxationFactorRegularStepGradientDescent(0.5),
66 
67  // for itk::VersorRigid3DTransformOptimizer
68  m_GradientMagnitudeToleranceVersorRigid3DTransform(0.0001),
69  m_MinimumStepLengthVersorRigid3DTransform(0.0001),
70  m_MaximumStepLengthVersorRigid3DTransform(4.0),
71  m_NumberOfIterationsVersorRigid3DTransform(200),
72 
73  // for itk::VersorTransformOptimizer
74  m_GradientMagnitudeToleranceVersorTransform(0.0001),
75  m_MinimumStepLengthVersorTransform(0.0001),
76  m_MaximumStepLengthVersorTransform(4.0),
77  m_NumberOfIterationsVersorTransform(200),
78 
79  // for itk::AmoebaOptimizer
80  m_ParametersConvergenceToleranceAmoeba(0.01),
81  m_FunctionConvergenceToleranceAmoeba(0.001),
82  m_NumberOfIterationsAmoeba(200),
83 
84  // for itk::ConjugateGradientOptimizer
85 
86  // for itk::LBFGSOptimizer
87  m_GradientConvergenceToleranceLBFGS(0.01),
88  m_LineSearchAccuracyLBFGS(0.01),
89  m_DefaultStepLengthLBFGS(0.01),
90  m_TraceOnLBFGS(true),
91  m_NumberOfIterationsLBFGS(200),
92 
93  // for itk::SPSAOptimizer
94  m_aSPSA(1.0),
95  m_ASPSA(10.0),
96  m_AlphaSPSA(0.602),
97  m_cSPSA(0.0001),
98  m_GammaSPSA(0.101),
99  m_ToleranceSPSA(1e-5),
100  m_StateOfConvergenceDecayRateSPSA(0.5),
101  m_MinimumNumberOfIterationsSPSA(10),
102  m_NumberOfPerturbationsSPSA(1),
103  m_NumberOfIterationsSPSA(200)
104  {
105  // for itk::AmoebaOptimizer
106  m_SimplexDeltaAmoeba.SetSize(16);
107  m_SimplexDeltaAmoeba.Fill(5.0);
108  }
109 
110  /********************************** for itk::AmoebaOptimizer ****************************************/
111 
112  void OptimizerParameters::SetSimplexDeltaAmoeba(itk::Array<double> simplexDelta)
113  {
114  m_SimplexDeltaAmoeba = simplexDelta;
115  }
116 
118 } // namespace mitk
void SetSimplexDeltaAmoeba(itk::Array< double > simplexDelta)
for itk::AmoebaOptimizer
itk::Array< double > GetSimplexDeltaAmoeba()
for itk::AmoebaOptimizer
DataCollection - Class to facilitate loading/accessing structured data.
itk::Array< double > m_SimplexDeltaAmoeba