CASToR  2.0
Tomographic Reconstruction (PET/SPECT/CT)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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 )()
 

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...
 

Static Public Member Functions

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_convolver
mp_listOfImageConvolvers
 
std::map< string,
maker_image_processing_module
mp_listOfImageProcessingModules
 
std::map< string, maker_scannermp_listOfScannerTypes
 
std::map< string,
maker_dynamic_model
mp_listOfDynamicModels
 
std::map< string,
maker_deformation
mp_listOfDeformations
 

Private Member Functions

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

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 56 of file sAddonManager.hh.

Member Typedef Documentation

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

Definition at line 189 of file sAddonManager.hh.

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

Definition at line 174 of file sAddonManager.hh.

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

Definition at line 129 of file sAddonManager.hh.

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

Definition at line 144 of file sAddonManager.hh.

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

Definition at line 99 of file sAddonManager.hh.

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

Definition at line 114 of file sAddonManager.hh.

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

Definition at line 84 of file sAddonManager.hh.

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

Definition at line 159 of file sAddonManager.hh.

Constructor & Destructor Documentation

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 76 of file sAddonManager.hh.

sAddonManager::sAddonManager ( )
private

The constructor of sAddonManager.

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

Definition at line 40 of file sAddonManager.cc.

Here is the caller graph for this function:

Member Function Documentation

static sAddonManager* sAddonManager::GetInstance ( )
inlinestatic

Definition at line 66 of file sAddonManager.hh.

Here is the call graph for this function:

Here is the caller graph for this function:

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 306 of file sAddonManager.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

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 269 of file sAddonManager.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

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 158 of file sAddonManager.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

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 195 of file sAddonManager.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

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 84 of file sAddonManager.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

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 232 of file sAddonManager.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

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 47 of file sAddonManager.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

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 121 of file sAddonManager.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

sAddonManager * sAddonManager::mp_Instance = NULL
staticprivate

Pointer to this singleton object

Definition at line 218 of file sAddonManager.hh.

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

Definition at line 195 of file sAddonManager.hh.

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

Definition at line 180 of file sAddonManager.hh.

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

Definition at line 135 of file sAddonManager.hh.

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

Definition at line 150 of file sAddonManager.hh.

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

Definition at line 105 of file sAddonManager.hh.

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

Definition at line 120 of file sAddonManager.hh.

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

The map of all vProjector children's constructors

Definition at line 90 of file sAddonManager.hh.

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

Definition at line 165 of file sAddonManager.hh.


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