go home Home | Main Page | Topics | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Loading...
Searching...
No Matches
elxParameterObject.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef elxParameterObject_h
19#define elxParameterObject_h
20
21#include "itkObjectFactory.h"
22#include "itkDataObject.h"
23#include "elxMacro.h"
24
25namespace elastix
26{
27
28// TODO: Why does the compiler not see ELASTIXLIB_API declspec in elxMacro.h?
29// error: variable has incomplete type 'class ELASTIXLIB_API'
30// with class ELASTIXLIB_API ParameterObject : public itk::DataObject
31
32class ParameterObject : public itk::DataObject
33{
34public:
36 using Pointer = itk::SmartPointer<Self>;
37 using ConstPointer = itk::SmartPointer<const Self>;
38 itkNewMacro(Self);
40
41 using ParameterKeyType = std::string;
42 using ParameterValueType = std::string;
43 using ParameterValueVectorType = std::vector<ParameterValueType>;
44 using ParameterValueVectorIterator = ParameterValueVectorType::iterator;
45 using ParameterMapType = std::map<ParameterKeyType, ParameterValueVectorType>;
46 using ParameterMapIterator = ParameterMapType::iterator;
47 using ParameterMapConstIterator = ParameterMapType::const_iterator;
48 using ParameterMapVectorType = std::vector<ParameterMapType>;
49 using ParameterFileNameType = std::string;
50 using ParameterFileNameVectorType = std::vector<ParameterFileNameType>;
51 using ParameterFileNameVectorIterator = ParameterFileNameVectorType::iterator;
52 using ParameterFileNameVectorConstIterator = ParameterFileNameVectorType::const_iterator;
53
54 /* Set/Get/Add parameter map or vector of parameter maps. */
55 // TODO: Use itkSetMacro for ParameterMapVectorType
56 void
57 SetParameterMap(const ParameterMapType & parameterMap);
58 void
59 SetParameterMap(const unsigned int index, const ParameterMapType & parameterMap);
60
61 [[deprecated("Instead of calling this overload, please call SetParameterMaps")]] void
63
64 void
66
67 void
68 AddParameterMap(const ParameterMapType & parameterMap);
69 const ParameterMapType &
70 GetParameterMap(const unsigned int index) const;
71
72 [[deprecated("Instead of calling this member function, please call GetParameterMaps")]] const ParameterMapVectorType &
74 {
75 return m_ParameterMaps;
76 }
77
80 {
81 return m_ParameterMaps;
82 }
83
84 unsigned int
86 {
87 return static_cast<unsigned int>(m_ParameterMaps.size());
88 }
89
90 void
91 SetParameter(const unsigned int index, const ParameterKeyType & key, const ParameterValueType & value);
92 void
93 SetParameter(const unsigned int index, const ParameterKeyType & key, const ParameterValueVectorType & value);
94 void
96 void
99 GetParameter(const unsigned int index, const ParameterKeyType & key);
100 bool
101 HasParameter(const unsigned int index, const ParameterKeyType & key) const;
102 bool
103 HasParameter(const ParameterKeyType & key) const;
104 void
105 RemoveParameter(const unsigned int index, const ParameterKeyType & key);
106 void
108
109 /* Read/Write parameter file or multiple parameter files to/from disk. */
110 void
111 ReadParameterFile(const ParameterFileNameType & parameterFileName);
112
113 [[deprecated("Instead of calling this overload, please call ReadParameterFiles")]] void
114 ReadParameterFile(const ParameterFileNameVectorType & parameterFileNameVector);
115
116 void
117 ReadParameterFiles(const ParameterFileNameVectorType & parameterFileNameVector);
118
119 void
120 AddParameterFile(const ParameterFileNameType & parameterFileName);
121
122 [[deprecated("Instead of calling this overload, please call WriteParameterFiles")]] void
124
125 static void
126 WriteParameterFile(const ParameterMapType & parameterMap, const ParameterFileNameType & parameterFileName);
127 void
128 WriteParameterFile(const ParameterFileNameType & parameterFileName) const;
129
130 [[deprecated("Instead of calling this overload, please call WriteParameterFiles")]] void
131 WriteParameterFile(const ParameterFileNameVectorType & parameterFileNameVector) const;
132
133 [[deprecated("Instead of calling this overload, please call WriteParameterFiles")]] static void
134 WriteParameterFile(const ParameterMapVectorType & parameterMapVector,
135 const ParameterFileNameVectorType & parameterFileNameVector);
136
137 void
139
140 void
141 WriteParameterFiles(const ParameterFileNameVectorType & parameterFileNameVector) const;
142
143 static void
144 WriteParameterFiles(const ParameterMapVectorType & parameterMapVector,
145 const ParameterFileNameVectorType & parameterFileNameVector);
146
147 /* Get preconfigured parameter maps. */
148 static ParameterMapType
149 GetDefaultParameterMap(const std::string & transformName,
150 const unsigned int numberOfResolutions = 4u,
151 const double finalGridSpacingInPhysicalUnits = 10.0);
152
153protected:
154 void
155 PrintSelf(std::ostream & os, itk::Indent indent) const override;
156
157private:
159};
160
161} // namespace elastix
162
163#endif // elxParameterObject_h
unsigned int GetNumberOfParameterMaps() const
void RemoveParameter(const ParameterKeyType &key)
ParameterFileNameVectorType::const_iterator ParameterFileNameVectorConstIterator
void WriteParameterFile() const
void ReadParameterFiles(const ParameterFileNameVectorType &parameterFileNameVector)
void ReadParameterFile(const ParameterFileNameVectorType &parameterFileNameVector)
ParameterMapVectorType m_ParameterMaps
itk::SmartPointer< Self > Pointer
static void WriteParameterFile(const ParameterMapVectorType &parameterMapVector, const ParameterFileNameVectorType &parameterFileNameVector)
void AddParameterFile(const ParameterFileNameType &parameterFileName)
std::vector< ParameterFileNameType > ParameterFileNameVectorType
itkOverrideGetNameOfClassMacro(ParameterObject)
const ParameterMapType & GetParameterMap(const unsigned int index) const
void SetParameterMap(const unsigned int index, const ParameterMapType &parameterMap)
bool HasParameter(const ParameterKeyType &key) const
ParameterFileNameVectorType::iterator ParameterFileNameVectorIterator
void RemoveParameter(const unsigned int index, const ParameterKeyType &key)
void AddParameterMap(const ParameterMapType &parameterMap)
static void WriteParameterFile(const ParameterMapType &parameterMap, const ParameterFileNameType &parameterFileName)
void WriteParameterFiles(const ParameterFileNameVectorType &parameterFileNameVector) const
const ParameterMapVectorType & GetParameterMap() const
void SetParameterMap(const ParameterMapVectorType &parameterMaps)
std::map< ParameterKeyType, ParameterValueVectorType > ParameterMapType
const ParameterMapVectorType & GetParameterMaps() const
const ParameterValueVectorType & GetParameter(const unsigned int index, const ParameterKeyType &key)
itk::SmartPointer< const Self > ConstPointer
void SetParameter(const ParameterKeyType &key, const ParameterValueVectorType &value)
void WriteParameterFile(const ParameterFileNameVectorType &parameterFileNameVector) const
ParameterValueVectorType::iterator ParameterValueVectorIterator
void SetParameterMaps(const ParameterMapVectorType &parameterMaps)
std::vector< ParameterValueType > ParameterValueVectorType
static ParameterMapType GetDefaultParameterMap(const std::string &transformName, const unsigned int numberOfResolutions=4u, const double finalGridSpacingInPhysicalUnits=10.0)
void SetParameterMap(const ParameterMapType &parameterMap)
std::vector< ParameterMapType > ParameterMapVectorType
void ReadParameterFile(const ParameterFileNameType &parameterFileName)
void PrintSelf(std::ostream &os, itk::Indent indent) const override
void WriteParameterFiles() const
void SetParameter(const unsigned int index, const ParameterKeyType &key, const ParameterValueVectorType &value)
void SetParameter(const ParameterKeyType &key, const ParameterValueType &value)
bool HasParameter(const unsigned int index, const ParameterKeyType &key) const
ParameterMapType::iterator ParameterMapIterator
static void WriteParameterFiles(const ParameterMapVectorType &parameterMapVector, const ParameterFileNameVectorType &parameterFileNameVector)
void SetParameter(const unsigned int index, const ParameterKeyType &key, const ParameterValueType &value)
void WriteParameterFile(const ParameterFileNameType &parameterFileName) const
ParameterMapType::const_iterator ParameterMapConstIterator


Generated on 1773719373 for elastix by doxygen 1.15.0 elastix logo