![]() |
SMILX
1.01
|
Determines which components (metrics, transforms, etc.) are available. More...
#include <elxComponentLoader.h>
Public Types | |
| typedef ComponentLoader | Self |
| typedef itk::Object | Superclass |
| typedef itk::SmartPointer< Self > | Pointer |
| typedef itk::SmartPointer< const Self > | ConstPointer |
| typedef ComponentDatabase | ComponentDatabaseType |
| typedef ComponentDatabaseType::Pointer | ComponentDatabasePointer |
Public Member Functions | |
| itkNewMacro (Self) | |
| itkTypeMacro (ComponentLoader, Object) | |
| itkSetObjectMacro (ComponentDatabase, ComponentDatabaseType) | |
| itkGetObjectMacro (ComponentDatabase, ComponentDatabaseType) | |
| virtual int | LoadComponents (const char *argv0) |
| virtual void | UnloadComponents (void) |
Protected Member Functions | |
| ComponentLoader () | |
| virtual | ~ComponentLoader () |
| virtual int | InstallSupportedImageTypes (void) |
Protected Attributes | |
| ComponentDatabasePointer | m_ComponentDatabase |
| bool | m_ImageTypeSupportInstalled |
Determines which components (metrics, transforms, etc.) are available.
This file defines the class elx::ComponentLoader. This class stores pointers to the New() functions of each component in the elx::ComponentDatabase.
Each new component (a new metric for example should "make itself known" by calling the elxInstallMacro, which is defined in elxMacro.h.
Definition at line 37 of file elxComponentLoader.h.
| typedef ComponentDatabase elastix::ComponentLoader::ComponentDatabaseType |
Typedef's.
Definition at line 52 of file elxComponentLoader.h.
Standard ITK typedef's.
Definition at line 42 of file elxComponentLoader.h.
|
protected |
Standard constructor and destructor.
Constructor ********************************
Definition at line 87 of file elxComponentLoader.cxx.
|
protectedvirtual |
****************** Destructor *********************************
Definition at line 97 of file elxComponentLoader.cxx.
|
protectedvirtual |
*************** InstallSupportedImageTypes ********************
Method: A recursive template was defined at the top of this file, that installs support for all combinations of ImageTypes defined in elxSupportedImageTypes.h
Result: The VIndices are stored in the elx::ComponentDatabase::IndexMap. The New() functions of ElastixTemplate<> in the elx::ComponentDatabase::CreatorMap, with key "Elastix".
Call class<1>::DO(...)
Definition at line 107 of file elxComponentLoader.cxx.
| elastix::ComponentLoader::itkNewMacro | ( | Self | ) |
Standard ITK stuff.
| elastix::ComponentLoader::itkSetObjectMacro | ( | ComponentDatabase | , |
| ComponentDatabaseType | |||
| ) |
Set and get the ComponentDatabase.
|
virtual |
Function to load components. The argv0 used to be useful to find the program directory, but is not used anymore.
****************** LoadComponents *****************************
Generate the mapping between indices and image types
Fill the component database
| argv0 | argv0 |
Definition at line 138 of file elxComponentLoader.cxx.
|
virtual |
Function to unload components.
****************** UnloadComponents ****************************
This function used to be more useful when we still used .dll's.
Definition at line 179 of file elxComponentLoader.cxx.
1.8.13