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.