go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxMainBase.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 elxMainBase_h
19#define elxMainBase_h
20
22
23#include "elxElastixBase.h"
25
26#include <itkObject.h>
27
28// Standard C++ header files:
29#include <fstream>
30#include <iostream>
31#include <string>
32
33
34namespace elastix
35{
36
44class MainBase : public itk::Object
45{
46public:
48
50 using Self = MainBase;
51 using Superclass = itk::Object;
52 using Pointer = itk::SmartPointer<Self>;
53 using ConstPointer = itk::SmartPointer<const Self>;
54
56 itkTypeMacro(MainBase, Object);
57
61 using ObjectPointer = itk::Object::Pointer;
62 using DataObjectPointer = itk::DataObject::Pointer;
63
71
81
84
86 itkSetMacro(FixedImagePixelType, PixelTypeDescriptionType);
88 itkSetMacro(FixedImageDimension, ImageDimensionType);
89 itkSetMacro(MovingImageDimension, ImageDimensionType);
90 itkGetConstMacro(FixedImagePixelType, PixelTypeDescriptionType);
92 itkGetConstMacro(FixedImageDimension, ImageDimensionType);
93 itkGetConstMacro(MovingImageDimension, ImageDimensionType);
94
99 itkSetObjectMacro(MovingImageContainer, DataObjectContainerType);
101
106 itkSetObjectMacro(ResultImageContainer, DataObjectContainerType);
108
109 itkSetObjectMacro(ResultDeformationFieldContainer, DataObjectContainerType);
110 itkGetModifiableObjectMacro(ResultDeformationFieldContainer, DataObjectContainerType);
111
113 itkSetObjectMacro(Configuration, Configuration);
115
120 itkGetModifiableObjectMacro(Elastix, itk::Object);
121
127
129 itkGetConstMacro(DBIndex, DBIndexType);
130
136 virtual int
137 Run() = 0;
138
143 virtual int
144 Run(const ArgumentMapType & argmap);
145
146 virtual int
147 Run(const ArgumentMapType & argmap, const ParameterMapType & inputMap);
148
153 virtual void
155
160 virtual void
162
164 static const ComponentDatabase &
166
167protected:
169 ~MainBase() override = 0;
170
175
177 std::vector<Configuration::ConstPointer> m_TransformConfigurations{};
178
184
186
191
196 virtual int
198
202 virtual ObjectPointer
204
222 const ComponentDescriptionType & defaultComponentName,
223 int & errorcode,
224 bool mandatoryComponent = true);
225
226private:
229};
230
231} // end namespace elastix
232
233#endif // end #ifndef elxMainBase_h
The ComponentDatabase class is a class that stores the New() functions of all components.
itk::SmartPointer< Self > Pointer
A class that deals with user given parameters and command line arguments.
static Pointer New()
std::map< std::string, std::string > CommandLineArgumentMapType
itk::SmartPointer< Self > Pointer
This class creates an interface for elastix.
itk::VectorContainer< unsigned int, DataObjectPointer > DataObjectContainerType
std::vector< double > FlatDirectionCosinesType
itk::VectorContainer< unsigned int, ObjectPointer > ObjectContainerType
DataObjectContainerType::Pointer DataObjectContainerPointer
ObjectContainerType::Pointer ObjectContainerPointer
Common (abstract) base class of ElastixMain and TransformixMain.
Definition elxMainBase.h:45
itk::SmartPointer< const Self > ConstPointer
Definition elxMainBase.h:53
virtual int Run(const ArgumentMapType &argmap)
ComponentDatabase::ComponentDescriptionType ComponentDescriptionType
Definition elxMainBase.h:77
ElastixBase::ObjectContainerType ObjectContainerType
Definition elxMainBase.h:66
ElastixBase::ObjectContainerPointer ObjectContainerPointer
Definition elxMainBase.h:68
itkGetModifiableObjectMacro(Configuration, Configuration)
virtual int Run()=0
virtual ObjectContainerPointer CreateComponents(const ComponentDescriptionType &key, const ComponentDescriptionType &defaultComponentName, int &errorcode, bool mandatoryComponent=true)
virtual ObjectPointer CreateComponent(const ComponentDescriptionType &name)
~MainBase() override=0
PixelTypeDescriptionType m_FixedImagePixelType
ElastixBase::FlatDirectionCosinesType FlatDirectionCosinesType
Definition elxMainBase.h:70
ImageDimensionType m_MovingImageDimension
itk::ParameterMapInterface::ParameterMapType ParameterMapType
Definition elxMainBase.h:83
ElastixBase & GetElastixBase() const
ImageDimensionType m_FixedImageDimension
itk::SmartPointer< Self > Pointer
Definition elxMainBase.h:52
static const ComponentDatabase & GetComponentDatabase()
ComponentDatabase::PtrToCreator PtrToCreator
Definition elxMainBase.h:76
itkGetModifiableObjectMacro(Elastix, itk::Object)
std::vector< Configuration::ConstPointer > m_TransformConfigurations
virtual int InitDBIndex()=0
virtual int Run(const ArgumentMapType &argmap, const ParameterMapType &inputMap)
DBIndexType m_DBIndex
virtual void SetProcessPriority() const
ElastixBase::DataObjectContainerType DataObjectContainerType
Definition elxMainBase.h:67
ITK_DISALLOW_COPY_AND_MOVE(MainBase)
ComponentDatabase::Pointer ComponentDatabasePointer
Definition elxMainBase.h:75
virtual void SetMaximumNumberOfThreads() const
PixelTypeDescriptionType m_MovingImagePixelType
ElastixBase::DataObjectContainerPointer DataObjectContainerPointer
Definition elxMainBase.h:69
ObjectPointer m_Elastix
itkGetModifiableObjectMacro(MovingImageContainer, DataObjectContainerType)
itk::Object Superclass
Definition elxMainBase.h:51
itkGetModifiableObjectMacro(ResultImageContainer, DataObjectContainerType)
DataObjectContainerPointer m_ResultDeformationFieldContainer
DataObjectContainerPointer m_MovingImageContainer
itk::Object::Pointer ObjectPointer
Definition elxMainBase.h:61
Configuration::Pointer m_Configuration
itkGetModifiableObjectMacro(ResultDeformationFieldContainer, DataObjectContainerType)
itk::DataObject::Pointer DataObjectPointer
Definition elxMainBase.h:62
DataObjectContainerPointer m_ResultImageContainer
ComponentDatabase::PixelTypeDescriptionType PixelTypeDescriptionType
Definition elxMainBase.h:78
Configuration::CommandLineArgumentMapType ArgumentMapType
Definition elxMainBase.h:65
ParameterFileParser::ParameterMapType ParameterMapType


Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo