Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Optimizers
CMAEvolutionStrategy
elxCMAEvolutionStrategy.h
Go to the documentation of this file.
1
/*======================================================================
2
3
This file is part of the elastix software.
4
5
Copyright (c) University Medical Center Utrecht. All rights reserved.
6
See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7
details.
8
9
This software is distributed WITHOUT ANY WARRANTY; without even
10
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11
PURPOSE. See the above copyright notices for more information.
12
13
======================================================================*/
14
15
#ifndef __elxCMAEvolutionStrategy_h
16
#define __elxCMAEvolutionStrategy_h
17
18
#include "
itkCMAEvolutionStrategyOptimizer.h
"
19
#include "
elxIncludes.h
"
20
21
namespace
elastix
22
{
23
using namespace
itk;
24
25
113
template
<
class
TElastix>
114
class
CMAEvolutionStrategy
:
115
public
116
itk::CMAEvolutionStrategyOptimizer
,
117
public
118
OptimizerBase
<TElastix>
119
{
120
public
:
121
123
typedef
CMAEvolutionStrategy
Self
;
124
typedef
CMAEvolutionStrategyOptimizer
Superclass1
;
125
typedef
OptimizerBase<TElastix>
Superclass2
;
126
typedef
SmartPointer<Self>
Pointer
;
127
typedef
SmartPointer<const Self>
ConstPointer
;
128
130
itkNewMacro(
Self
);
131
133
itkTypeMacro(
CMAEvolutionStrategy
,
CMAEvolutionStrategyOptimizer
);
134
139
elxClassNameMacro
(
"CMAEvolutionStrategy"
);
140
142
typedef
Superclass1::CostFunctionType
CostFunctionType
;
143
typedef
Superclass1::CostFunctionPointer
CostFunctionPointer
;
144
typedef
Superclass1::StopConditionType
StopConditionType
;
145
typedef
Superclass1::ParametersType
ParametersType
;
146
typedef
Superclass1::DerivativeType
DerivativeType
;
147
typedef
Superclass1::ScalesType
ScalesType
;
148
150
typedef
typename
Superclass2::ElastixType
ElastixType
;
151
typedef
typename
Superclass2::ElastixPointer
ElastixPointer
;
152
typedef
typename
Superclass2::ConfigurationType
ConfigurationType
;
153
typedef
typename
Superclass2::ConfigurationPointer
ConfigurationPointer
;
154
typedef
typename
Superclass2::RegistrationType
RegistrationType
;
155
typedef
typename
Superclass2::RegistrationPointer
RegistrationPointer
;
156
typedef
typename
Superclass2::ITKBaseType
ITKBaseType
;
157
158
161
virtual
void
StartOptimization(
void
);
162
165
virtual
void
BeforeRegistration(
void
);
166
virtual
void
BeforeEachResolution(
void
);
167
virtual
void
AfterEachResolution(
void
);
168
virtual
void
AfterEachIteration(
void
);
169
virtual
void
AfterRegistration(
void
);
170
171
172
protected
:
173
174
CMAEvolutionStrategy
(){};
175
virtual
~CMAEvolutionStrategy
() {};
176
178
virtual
void
InitializeProgressVariables(
void
);
179
180
private
:
181
182
CMAEvolutionStrategy
(
const
Self& );
// purposely not implemented
183
void
operator=(
const
Self& );
// purposely not implemented
184
185
186
};
// end class CMAEvolutionStrategy
187
188
189
}
// end namespace elastix
190
191
#ifndef ITK_MANUAL_INSTANTIATION
192
#include "elxCMAEvolutionStrategy.hxx"
193
#endif
194
195
#endif // end #ifndef __elxCMAEvolutionStrategy_h
196
Generated on 21-03-2014 for elastix by
1.8.1.2