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
elxBaseComponentSE.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 elxBaseComponentSE_h
19#define elxBaseComponentSE_h
20
21#include "elxBaseComponent.h"
22#include "elxConfiguration.h"
23
24// ITK header files:
25#include <itkMacro.h> // For ITK_DISALLOW_COPY_AND_MOVE.
26#include <itkDeref.h>
27#include <itkWeakPointer.h>
28
29namespace elastix
30{
31
46
47template <typename TElastix>
48class ITK_TEMPLATE_EXPORT BaseComponentSE : public BaseComponent
49{
50public:
52
56
58 using ElastixType = TElastix;
59
63 using RegistrationType = typename ElastixType::RegistrationBaseType;
64
77 void
79
84 GetElastix() const
85 {
86 return this->m_Elastix.GetPointer();
87 }
88
89 itk::Statistics::MersenneTwisterRandomVariateGenerator &
91 {
92 return itk::Deref(m_Elastix.GetPointer()).GetRandomVariateGenerator();
93 }
94
95 void
96 RemoveTargetCellFromIterationInfo(const char * const name)
97 {
98 this->m_Elastix->GetIterationInfo().RemoveTargetCell(name);
99 }
100
101 auto &
102 GetIterationInfoAt(const char * const name)
103 {
104 return this->m_Elastix->GetIterationInfoAt(name);
105 }
106
107 void
108 AddTargetCellToIterationInfo(const char * const name)
109 {
110 return this->m_Elastix->AddTargetCellToIterationInfo(name);
111 }
112
117 const Configuration *
119 {
120 return this->m_Configuration.GetPointer();
121 }
122
123
125 void
127
135 {
136 return this->m_Registration;
137 }
138
139
140protected:
141 BaseComponentSE() = default;
142 ~BaseComponentSE() override = default;
143
144 itk::WeakPointer<TElastix> m_Elastix{};
147
148private:
149 virtual const itk::Object &
150 GetSelf() const = 0;
151
152 virtual itk::Object &
153 GetSelf() = 0;
154};
155
156} // end namespace elastix
157
158#ifndef ITK_MANUAL_INSTANTIATION
159# include "elxBaseComponentSE.hxx"
160#endif
161
162#endif // end #ifndef elxBaseComponentSE_h
Configuration::ConstPointer m_Configuration
void AddTargetCellToIterationInfo(const char *const name)
itk::WeakPointer< TElastix > m_Elastix
void SetConfiguration(const Configuration *_arg)
auto & GetIterationInfoAt(const char *const name)
RegistrationType * GetRegistration() const
~BaseComponentSE() override=default
ElastixType * GetElastix() const
void SetElastix(ElastixType *_arg)
const Configuration * GetConfiguration() const
ITK_DISALLOW_COPY_AND_MOVE(BaseComponentSE)
virtual itk::Object & GetSelf()=0
typename ElastixType::RegistrationBaseType RegistrationType
RegistrationType * m_Registration
itk::Statistics::MersenneTwisterRandomVariateGenerator & GetRandomVariateGenerator()
virtual const itk::Object & GetSelf() const =0
void RemoveTargetCellFromIterationInfo(const char *const name)
A class that deals with user given parameters and command line arguments.
itk::SmartPointer< const Self > ConstPointer


Generated on 1774142652 for elastix by doxygen 1.15.0 elastix logo