Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Optimizers
Powell
elxPowell.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 __elxPowell_h
16
#define __elxPowell_h
17
18
#include "itkPowellOptimizer.h"
19
#include "
elxIncludes.h
"
20
21
namespace
elastix
22
{
23
using namespace
itk;
24
38
template
<
class
TElastix>
39
class
Powell
:
40
public
41
itk::PowellOptimizer,
42
public
43
OptimizerBase
<TElastix>
44
{
45
public
:
46
48
typedef
Powell
Self
;
49
typedef
PowellOptimizer
Superclass1
;
50
typedef
OptimizerBase<TElastix>
Superclass2
;
51
typedef
SmartPointer<Self>
Pointer
;
52
typedef
SmartPointer<const Self>
ConstPointer
;
53
55
itkNewMacro(
Self
);
56
58
itkTypeMacro(
Powell
,
PowellOptimizer
);
59
64
elxClassNameMacro
(
"Powell"
);
65
67
typedef
Superclass1::CostFunctionType
CostFunctionType
;
68
typedef
Superclass1::CostFunctionPointer
CostFunctionPointer
;
69
71
typedef
typename
Superclass2::ElastixType
ElastixType
;
72
typedef
typename
Superclass2::ElastixPointer
ElastixPointer
;
73
typedef
typename
Superclass2::ConfigurationType
ConfigurationType
;
74
typedef
typename
Superclass2::ConfigurationPointer
ConfigurationPointer
;
75
typedef
typename
Superclass2::RegistrationType
RegistrationType
;
76
typedef
typename
Superclass2::RegistrationPointer
RegistrationPointer
;
77
typedef
typename
Superclass2::ITKBaseType
ITKBaseType
;
78
80
typedef
typename
Superclass1::ParametersType
ParametersType
;
81
84
virtual
void
BeforeRegistration(
void
);
85
virtual
void
BeforeEachResolution(
void
);
86
virtual
void
AfterEachResolution(
void
);
87
virtual
void
AfterEachIteration(
void
);
88
virtual
void
AfterRegistration(
void
);
89
94
virtual
void
SetInitialPosition(
const
ParametersType
& param );
95
96
protected
:
97
98
Powell
(){};
99
virtual
~Powell
() {};
100
101
private
:
102
103
Powell
(
const
Self& );
// purposely not implemented
104
void
operator=(
const
Self& );
// purposely not implemented
105
106
};
// end class Powell
107
108
109
}
// end namespace elastix
110
111
#ifndef ITK_MANUAL_INSTANTIATION
112
#include "elxPowell.hxx"
113
#endif
114
115
#endif // end #ifndef __elxPowell_h
Generated on 21-03-2014 for elastix by
1.8.1.2