Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Optimizers
RegularStepGradientDescent
elxRegularStepGradientDescent.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 __elxRegularStepGradientDescent_h
16
#define __elxRegularStepGradientDescent_h
17
18
#include "itkRegularStepGradientDescentOptimizer.h"
19
#include "
elxIncludes.h
"
20
21
namespace
elastix
22
{
23
using namespace
itk;
24
62
template
<
class
TElastix>
63
class
RegularStepGradientDescent
:
64
public
65
itk::RegularStepGradientDescentOptimizer,
66
public
67
OptimizerBase
<TElastix>
68
{
69
public
:
70
72
typedef
RegularStepGradientDescent
Self
;
73
typedef
RegularStepGradientDescentOptimizer
Superclass1
;
74
typedef
OptimizerBase<TElastix>
Superclass2
;
75
typedef
SmartPointer<Self>
Pointer
;
76
typedef
SmartPointer<const Self>
ConstPointer
;
77
79
itkNewMacro(
Self
);
80
82
itkTypeMacro(
RegularStepGradientDescent
,
RegularStepGradientDescentOptimizer
);
83
88
elxClassNameMacro
(
"RegularStepGradientDescent"
);
89
91
typedef
Superclass1::CostFunctionType
CostFunctionType
;
92
typedef
Superclass1::CostFunctionPointer
CostFunctionPointer
;
93
95
typedef
typename
Superclass2::ElastixType
ElastixType
;
96
typedef
typename
Superclass2::ElastixPointer
ElastixPointer
;
97
typedef
typename
Superclass2::ConfigurationType
ConfigurationType
;
98
typedef
typename
Superclass2::ConfigurationPointer
ConfigurationPointer
;
99
typedef
typename
Superclass2::RegistrationType
RegistrationType
;
100
typedef
typename
Superclass2::RegistrationPointer
RegistrationPointer
;
101
typedef
typename
Superclass2::ITKBaseType
ITKBaseType
;
102
104
typedef
typename
Superclass1::ParametersType
ParametersType
;
105
108
virtual
void
BeforeRegistration(
void
);
109
virtual
void
BeforeEachResolution(
void
);
110
virtual
void
AfterEachResolution(
void
);
111
virtual
void
AfterEachIteration(
void
);
112
virtual
void
AfterRegistration(
void
);
113
118
virtual
void
SetInitialPosition(
const
ParametersType
& param );
119
120
121
protected
:
122
123
RegularStepGradientDescent
(){};
124
virtual
~RegularStepGradientDescent
() {};
125
126
private
:
127
128
RegularStepGradientDescent
(
const
Self& );
// purposely not implemented
129
void
operator=(
const
Self& );
// purposely not implemented
130
131
};
// end class RegularStepGradientDescent
132
133
134
}
// end namespace elastix
135
136
#ifndef ITK_MANUAL_INSTANTIATION
137
#include "elxRegularStepGradientDescent.hxx"
138
#endif
139
140
#endif // end #ifndef __elxRegularStepGradientDescent_h
Generated on 21-03-2014 for elastix by
1.8.1.2