Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Optimizers
FullSearch
elxFullSearchOptimizer.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
16
#ifndef __elxFullSearchOptimizer_h
17
#define __elxFullSearchOptimizer_h
18
19
#include "
itkFullSearchOptimizer.h
"
20
#include "
elxIncludes.h
"
21
#include <map>
22
23
#include "
itkNDImageBase.h
"
24
25
26
namespace
elastix
27
{
28
using namespace
itk;
29
56
template
<
class
TElastix>
57
class
FullSearch
:
58
public
59
FullSearchOptimizer
,
60
public
61
OptimizerBase
<TElastix>
62
{
63
public
:
64
66
typedef
FullSearch
Self
;
67
typedef
FullSearchOptimizer
Superclass1
;
68
typedef
OptimizerBase<TElastix>
Superclass2
;
69
typedef
SmartPointer<Self>
Pointer
;
70
typedef
SmartPointer<const Self>
ConstPointer
;
71
73
itkNewMacro(
Self
);
74
76
itkTypeMacro(
FullSearch
,
FullSearchOptimizer
);
77
82
elxClassNameMacro
(
"FullSearch"
);
83
85
typedef
Superclass1::CostFunctionType
CostFunctionType
;
86
typedef
Superclass1::CostFunctionPointer
CostFunctionPointer
;
87
typedef
Superclass1::ParametersType
ParametersType
;
88
typedef
Superclass1::MeasureType
MeasureType
;
89
typedef
Superclass1::ParameterValueType
ParameterValueType
;
90
typedef
Superclass1::RangeValueType
RangeValueType
;
91
typedef
Superclass1::RangeType
RangeType
;
92
typedef
Superclass1::SearchSpaceType
SearchSpaceType
;
93
typedef
Superclass1::SearchSpacePointer
SearchSpacePointer
;
94
typedef
Superclass1::SearchSpaceIteratorType
SearchSpaceIteratorType
;
95
typedef
Superclass1::SearchSpacePointType
SearchSpacePointType
;
96
typedef
Superclass1::SearchSpaceIndexType
SearchSpaceIndexType
;
97
typedef
Superclass1::SearchSpaceSizeType
SearchSpaceSizeType
;
98
100
typedef
typename
Superclass2::ElastixType
ElastixType
;
101
typedef
typename
Superclass2::ElastixPointer
ElastixPointer
;
102
typedef
typename
Superclass2::ConfigurationType
ConfigurationType
;
103
typedef
typename
Superclass2::ConfigurationPointer
ConfigurationPointer
;
104
typedef
typename
Superclass2::RegistrationType
RegistrationType
;
105
typedef
typename
Superclass2::RegistrationPointer
RegistrationPointer
;
106
typedef
typename
Superclass2::ITKBaseType
ITKBaseType
;
107
109
typedef
NDImageBase<float>
NDImageType
;
110
typedef
typename
NDImageType::Pointer
NDImagePointer
;
111
113
typedef
std::map<unsigned int, std::string>
DimensionNameMapType
;
114
typedef
typename
DimensionNameMapType::const_iterator
NameIteratorType
;
115
117
virtual
void
BeforeRegistration(
void
);
118
virtual
void
BeforeEachResolution(
void
);
119
virtual
void
AfterEachResolution(
void
);
120
virtual
void
AfterEachIteration(
void
);
121
virtual
void
AfterRegistration(
void
);
125
itkGetObjectMacro(OptimizationSurface,
NDImageType
);
126
127
protected
:
128
129
FullSearch
();
130
virtual
~FullSearch
() {};
131
132
NDImagePointer m_OptimizationSurface;
133
134
DimensionNameMapType
m_SearchSpaceDimensionNames
;
135
140
//virtual int CheckSearchSpaceRangeDefinition(const std::string & fullFieldName, int errorcode, unsigned int entry_nr);
141
virtual
bool
CheckSearchSpaceRangeDefinition(
const
std::string & fullFieldName,
142
const
bool
found,
const
unsigned
int
entry_nr )
const
;
143
144
private
:
145
146
FullSearch
(
const
Self
& );
// purposely not implemented
147
void
operator=(
const
Self
& );
// purposely not implemented
148
149
};
// end class FullSearch
150
151
}
// end namespace elastix
152
153
#ifndef ITK_MANUAL_INSTANTIATION
154
#include "elxFullSearchOptimizer.hxx"
155
#endif
156
157
#endif // end #ifndef __elxFullSearchOptimizer_h
Generated on 21-03-2014 for elastix by
1.8.1.2