go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxBaseComponent.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 __elxBaseComponent_h
19#define __elxBaseComponent_h
20
34#ifdef _MSC_VER
35#pragma warning ( disable : 4786 )
36#pragma warning ( disable : 4503 )
37#endif
38
39#include "itkMacro.h" // itkTypeMacroNoParent
40
41#include <string>
42
44namespace elastix
45{
46
63{
64public:
66
73 virtual int BeforeAllBase( void ) { return 0; }
74 virtual int BeforeAll( void ) { return 0; }
75
82 virtual void BeforeRegistrationBase( void ) {}
83 virtual void BeforeEachResolutionBase( void ) {}
84 virtual void AfterEachResolutionBase( void ) {}
85 virtual void AfterEachIterationBase( void ) {}
86 virtual void AfterRegistrationBase( void ) {}
87
94 virtual void BeforeRegistration( void ) {}
95 virtual void BeforeEachResolution( void ) {}
96 virtual void AfterEachResolution( void ) {}
97 virtual void AfterEachIteration( void ) {}
98 virtual void AfterRegistration( void ) {}
99
105 virtual const char * elxGetClassName( void ) const;
106
108
116 void SetComponentLabel( const char * label, unsigned int idx );
117
119 const char * GetComponentLabel( void ) const;
120
121 static bool IsElastixLibrary();
122
124
126 static std::string ConvertSecondsToDHMS( const double totalSeconds, const unsigned int precision );
127
128protected:
129
130 BaseComponent() = default;
131 virtual ~BaseComponent() = default;
132
133private:
134
135 std::string m_ComponentLabel;
136
137};
138
139} // end namespace elastix
140
142namespace elx = elastix;
143
144#endif // end #ifndef __elxBaseComponent_h
The BaseComponent class is a class that all elastix components should inherit from.
virtual void BeforeRegistration(void)
virtual void AfterEachIterationBase(void)
void SetComponentLabel(const char *label, unsigned int idx)
virtual void AfterEachResolution(void)
virtual int BeforeAll(void)
static std::string ConvertSecondsToDHMS(const double totalSeconds, const unsigned int precision)
virtual void AfterRegistrationBase(void)
static void InitializeElastixExecutable()
static bool IsElastixLibrary()
virtual void BeforeEachResolutionBase(void)
virtual ~BaseComponent()=default
virtual const char * elxGetClassName(void) const
virtual void BeforeEachResolution(void)
virtual void AfterRegistration(void)
virtual int BeforeAllBase(void)
virtual void AfterEachResolutionBase(void)
ITK_DISALLOW_COPY_AND_ASSIGN(BaseComponent)
virtual void AfterEachIteration(void)
virtual void BeforeRegistrationBase(void)
itkTypeMacroNoParent(BaseComponent)
const char * GetComponentLabel(void) const


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo