CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Static Private Attributes | List of all members
sAddonManager Class Reference

This class is designed to manage the automatic declaration of 'addon' classes. More...

#include <sAddonManager.hh>

Collaboration diagram for sAddonManager:
Collaboration graph

Public Types

typedef vProjector *(* maker_projector) ()
 
typedef vOptimizer *(* maker_optimizer) ()
 
typedef vPenalty *(* maker_penalty) ()
 
typedef vImageConvolver *(* maker_image_convolver) ()
 
typedef vImageProcessingModule *(* maker_image_processing_module) ()
 
typedef vScanner *(* maker_scanner) ()
 
typedef vDynamicModel *(* maker_dynamic_model) ()
 
typedef vDeformation *(* maker_deformation) ()
 
typedef vProjector *(* maker_projector) ()
 
typedef vOptimizer *(* maker_optimizer) ()
 
typedef vPenalty *(* maker_penalty) ()
 
typedef vImageConvolver *(* maker_image_convolver) ()
 
typedef vImageProcessingModule *(* maker_image_processing_module) ()
 
typedef vScanner *(* maker_scanner) ()
 
typedef vDynamicModel *(* maker_dynamic_model) ()
 
typedef vDeformation *(* maker_deformation) ()
 

Public Member Functions

 ~sAddonManager ()
 The destructor of sAddonManager. More...
 
void ShowHelpProjector ()
 Show help about all implemented projectors. More...
 
void ShowHelpOptimizer ()
 Show help about all implemented optimizers. More...
 
void ShowHelpPenalty ()
 Show help about all implemented penalties. More...
 
void ShowHelpImageConvolver ()
 Show help about all implemented image convolvers. More...
 
void ShowHelpImageProcessingModule ()
 Show help about all implemented image processing modules. More...
 
void ShowHelpScanner ()
 Show help about all implemented scanners. More...
 
void ShowHelpDynamicModel ()
 Show help about all implemented dynamic models. More...
 
void ShowHelpDeformation ()
 Show help about all implemented deformations. More...
 
 ~sAddonManager ()
 
void ShowHelpProjector ()
 
void ShowHelpOptimizer ()
 
void ShowHelpPenalty ()
 
void ShowHelpImageConvolver ()
 
void ShowHelpImageProcessingModule ()
 
void ShowHelpScanner ()
 
void ShowHelpDynamicModel ()
 
void ShowHelpDeformation ()
 

Static Public Member Functions

static sAddonManagerGetInstance ()
 
static sAddonManagerGetInstance ()
 

Public Attributes

std::map< string, maker_projectormp_listOfProjectors
 
std::map< string, maker_optimizermp_listOfOptimizers
 
std::map< string, maker_penaltymp_listOfPenalties
 
std::map< string, maker_image_convolvermp_listOfImageConvolvers
 
std::map< string, maker_image_processing_modulemp_listOfImageProcessingModules
 
std::map< string, maker_scannermp_listOfScannerTypes
 
std::map< string, maker_dynamic_modelmp_listOfDynamicModels
 
std::map< string, maker_deformationmp_listOfDeformations
 

Private Member Functions

 sAddonManager ()
 The constructor of sAddonManager. More...
 
 sAddonManager ()
 

Static Private Attributes

static sAddonManagermp_Instance = NULL
 

Detailed Description

This class is designed to manage the automatic declaration of 'addon' classes.

An 'addon' class is any class deriving from an abstract class used for the implementation of specific modules.
As an example, the class vProjector is an abstract class that cannot be used on its own, but all its children
are implementing actual projectors that can be used.
This addon manager allows to automatically declare the existency of an 'addon' class into the CASToR project.
Based on specific macros to be added in the 'addon' class, and what is defined in this addon manager,
there is nothing more to do to be able to use the 'addon' inside CASToR.
This class is a singleton. For all things to work properly, additional macros are defined inside
the header file of abstract classes.
The philosophy of this 'addon' mechanism is taken from the GATE software.

Definition at line 33 of file code/include/management/sAddonManager.hh.

Member Typedef Documentation

◆ maker_deformation [1/2]

typedef vDeformation*(* sAddonManager::maker_deformation) ()

Definition at line 166 of file code/include/management/sAddonManager.hh.

◆ maker_deformation [2/2]

typedef vDeformation*(* sAddonManager::maker_deformation) ()

Definition at line 166 of file include/management/sAddonManager.hh.

◆ maker_dynamic_model [1/2]

typedef vDynamicModel*(* sAddonManager::maker_dynamic_model) ()

Definition at line 151 of file code/include/management/sAddonManager.hh.

◆ maker_dynamic_model [2/2]

typedef vDynamicModel*(* sAddonManager::maker_dynamic_model) ()

Definition at line 151 of file include/management/sAddonManager.hh.

◆ maker_image_convolver [1/2]

typedef vImageConvolver*(* sAddonManager::maker_image_convolver) ()

Definition at line 106 of file include/management/sAddonManager.hh.

◆ maker_image_convolver [2/2]

typedef vImageConvolver*(* sAddonManager::maker_image_convolver) ()

Definition at line 106 of file code/include/management/sAddonManager.hh.

◆ maker_image_processing_module [1/2]

typedef vImageProcessingModule*(* sAddonManager::maker_image_processing_module) ()

Definition at line 121 of file code/include/management/sAddonManager.hh.

◆ maker_image_processing_module [2/2]

typedef vImageProcessingModule*(* sAddonManager::maker_image_processing_module) ()

Definition at line 121 of file include/management/sAddonManager.hh.

◆ maker_optimizer [1/2]

typedef vOptimizer*(* sAddonManager::maker_optimizer) ()

Definition at line 76 of file code/include/management/sAddonManager.hh.

◆ maker_optimizer [2/2]

typedef vOptimizer*(* sAddonManager::maker_optimizer) ()

Definition at line 76 of file include/management/sAddonManager.hh.

◆ maker_penalty [1/2]

typedef vPenalty*(* sAddonManager::maker_penalty) ()

Definition at line 91 of file code/include/management/sAddonManager.hh.

◆ maker_penalty [2/2]

typedef vPenalty*(* sAddonManager::maker_penalty) ()

Definition at line 91 of file include/management/sAddonManager.hh.

◆ maker_projector [1/2]

typedef vProjector*(* sAddonManager::maker_projector) ()

Definition at line 61 of file include/management/sAddonManager.hh.

◆ maker_projector [2/2]

typedef vProjector*(* sAddonManager::maker_projector) ()

Definition at line 61 of file code/include/management/sAddonManager.hh.

◆ maker_scanner [1/2]

typedef vScanner*(* sAddonManager::maker_scanner) ()

Definition at line 136 of file code/include/management/sAddonManager.hh.

◆ maker_scanner [2/2]

typedef vScanner*(* sAddonManager::maker_scanner) ()

Definition at line 136 of file include/management/sAddonManager.hh.

Constructor & Destructor Documentation

◆ ~sAddonManager() [1/2]

public sAddonManager::~sAddonManager ( )
inline

The destructor of sAddonManager.

This is the default and unique destructor. It simply replace the instance pointer by NULL.

Definition at line 53 of file code/include/management/sAddonManager.hh.

◆ sAddonManager() [1/2]

sAddonManager::sAddonManager ( )
private

The constructor of sAddonManager.

This is the default and unique constructor. It does nothing.

Definition at line 17 of file code/src/management/sAddonManager.cc.

Here is the caller graph for this function:

◆ ~sAddonManager() [2/2]

sAddonManager::~sAddonManager ( )
inline

Definition at line 53 of file include/management/sAddonManager.hh.

◆ sAddonManager() [2/2]

sAddonManager::sAddonManager ( )
private

Member Function Documentation

◆ GetInstance() [1/2]

static sAddonManager* sAddonManager::GetInstance ( )
inlinestatic

Definition at line 43 of file code/include/management/sAddonManager.hh.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetInstance() [2/2]

static sAddonManager* sAddonManager::GetInstance ( )
inlinestatic

Definition at line 43 of file include/management/sAddonManager.hh.

Here is the call graph for this function:

◆ ShowHelpDeformation() [1/2]

void sAddonManager::ShowHelpDeformation ( )

◆ ShowHelpDeformation() [2/2]

void sAddonManager::ShowHelpDeformation ( )

Show help about all implemented deformations.

Loop over all entries of mp_listOfDeformations and call the associated ShowHelp() function of vDeformation.

Definition at line 283 of file code/src/management/sAddonManager.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowHelpDynamicModel() [1/2]

void sAddonManager::ShowHelpDynamicModel ( )

◆ ShowHelpDynamicModel() [2/2]

void sAddonManager::ShowHelpDynamicModel ( )

Show help about all implemented dynamic models.

Loop over all entries of mp_listOfDynamicModels and call the associated ShowHelp() function of vDynamicModel.

Definition at line 246 of file code/src/management/sAddonManager.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowHelpImageConvolver() [1/2]

void sAddonManager::ShowHelpImageConvolver ( )

Show help about all implemented image convolvers.

Loop over all entries of mp_listOfImageConvolvers and call the associated ShowHelp() function of vImageConvolver.

Definition at line 135 of file code/src/management/sAddonManager.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowHelpImageConvolver() [2/2]

void sAddonManager::ShowHelpImageConvolver ( )

◆ ShowHelpImageProcessingModule() [1/2]

void sAddonManager::ShowHelpImageProcessingModule ( )

◆ ShowHelpImageProcessingModule() [2/2]

void sAddonManager::ShowHelpImageProcessingModule ( )

Show help about all implemented image processing modules.

Loop over all entries of mp_listOfImageProcessingModules and call the associated ShowHelp() function of vImageProcessingModule.

Definition at line 172 of file code/src/management/sAddonManager.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowHelpOptimizer() [1/2]

void sAddonManager::ShowHelpOptimizer ( )

Show help about all implemented optimizers.

Loop over all entries of mp_listOfOptimizers and call the associated ShowHelp() function of vOptimizer.

Definition at line 61 of file code/src/management/sAddonManager.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowHelpOptimizer() [2/2]

void sAddonManager::ShowHelpOptimizer ( )

◆ ShowHelpPenalty() [1/2]

void sAddonManager::ShowHelpPenalty ( )

◆ ShowHelpPenalty() [2/2]

void sAddonManager::ShowHelpPenalty ( )

Show help about all implemented penalties.

Loop over all entries of mp_listOfPenalties and call the associated ShowHelp() function of vPenalty.

Definition at line 209 of file code/src/management/sAddonManager.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowHelpProjector() [1/2]

void sAddonManager::ShowHelpProjector ( )

◆ ShowHelpProjector() [2/2]

void sAddonManager::ShowHelpProjector ( )

Show help about all implemented projectors.

Loop over all entries of mp_listOfProjectors and call the associated ShowHelp() function of vProjector.

Definition at line 24 of file code/src/management/sAddonManager.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowHelpScanner() [1/2]

void sAddonManager::ShowHelpScanner ( )

Show help about all implemented scanners.

Loop over all entries of mp_listOfScannerTypes and call the associated ShowHelp() function of vScanner.

Definition at line 98 of file code/src/management/sAddonManager.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowHelpScanner() [2/2]

void sAddonManager::ShowHelpScanner ( )

Member Data Documentation

◆ mp_Instance

sAddonManager * sAddonManager::mp_Instance = NULL
staticprivate

Pointer to this singleton object

Definition at line 195 of file code/include/management/sAddonManager.hh.

◆ mp_listOfDeformations

std::map< string, maker_deformation > sAddonManager::mp_listOfDeformations

Definition at line 172 of file code/include/management/sAddonManager.hh.

◆ mp_listOfDynamicModels

std::map< string, maker_dynamic_model > sAddonManager::mp_listOfDynamicModels

Definition at line 157 of file code/include/management/sAddonManager.hh.

◆ mp_listOfImageConvolvers

std::map< string, maker_image_convolver > sAddonManager::mp_listOfImageConvolvers

Definition at line 112 of file code/include/management/sAddonManager.hh.

◆ mp_listOfImageProcessingModules

std::map< string, maker_image_processing_module > sAddonManager::mp_listOfImageProcessingModules

Definition at line 127 of file code/include/management/sAddonManager.hh.

◆ mp_listOfOptimizers

std::map< string, maker_optimizer > sAddonManager::mp_listOfOptimizers

Definition at line 82 of file code/include/management/sAddonManager.hh.

◆ mp_listOfPenalties

std::map< string, maker_penalty > sAddonManager::mp_listOfPenalties

Definition at line 97 of file code/include/management/sAddonManager.hh.

◆ mp_listOfProjectors

std::map< string, maker_projector > sAddonManager::mp_listOfProjectors

The map of all vProjector children's constructors

Definition at line 67 of file code/include/management/sAddonManager.hh.

◆ mp_listOfScannerTypes

std::map< string, maker_scanner > sAddonManager::mp_listOfScannerTypes

Definition at line 142 of file code/include/management/sAddonManager.hh.


The documentation for this class was generated from the following files: