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 
44 namespace elastix
45 {
46 
63 {
64 public:
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 
128 protected:
129 
130  BaseComponent() = default;
131  virtual ~BaseComponent() = default;
132 
133 private:
134 
135  std::string m_ComponentLabel;
136 
137 };
138 
139 } // end namespace elastix
140 
142 namespace 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)
const char * GetComponentLabel(void) const
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)


Generated on 1667476801 for elastix by doxygen 1.9.1 elastix logo