CASToR  3.0
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) ()
 

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

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

Member Typedef Documentation

◆ maker_deformation

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

Definition at line 188 of file sAddonManager.hh.

◆ maker_dynamic_model

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

Definition at line 173 of file sAddonManager.hh.

◆ maker_image_convolver

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

Definition at line 128 of file sAddonManager.hh.

◆ maker_image_processing_module

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

Definition at line 143 of file sAddonManager.hh.

◆ maker_optimizer

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

Definition at line 98 of file sAddonManager.hh.

◆ maker_penalty

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

Definition at line 113 of file sAddonManager.hh.

◆ maker_projector

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

Definition at line 83 of file sAddonManager.hh.

◆ maker_scanner

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

Definition at line 158 of file sAddonManager.hh.

Constructor & Destructor Documentation

◆ ~sAddonManager()

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

◆ sAddonManager()

sAddonManager::sAddonManager ( )
private

The constructor of sAddonManager.

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

Definition at line 39 of file sAddonManager.cc.

Here is the caller graph for this function:

Member Function Documentation

◆ GetInstance()

static sAddonManager* sAddonManager::GetInstance ( )
inlinestatic

Definition at line 65 of file sAddonManager.hh.

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

◆ ShowHelpDeformation()

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

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

◆ ShowHelpDynamicModel()

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

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

◆ ShowHelpImageConvolver()

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

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

◆ ShowHelpImageProcessingModule()

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

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

◆ ShowHelpOptimizer()

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

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

◆ ShowHelpPenalty()

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

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

◆ ShowHelpProjector()

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

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

◆ ShowHelpScanner()

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

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

Member Data Documentation

◆ mp_Instance

sAddonManager * sAddonManager::mp_Instance = NULL
staticprivate

Pointer to this singleton object

Definition at line 217 of file sAddonManager.hh.

◆ mp_listOfDeformations

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

Definition at line 194 of file sAddonManager.hh.

◆ mp_listOfDynamicModels

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

Definition at line 179 of file sAddonManager.hh.

◆ mp_listOfImageConvolvers

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

Definition at line 134 of file sAddonManager.hh.

◆ mp_listOfImageProcessingModules

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

Definition at line 149 of file sAddonManager.hh.

◆ mp_listOfOptimizers

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

Definition at line 104 of file sAddonManager.hh.

◆ mp_listOfPenalties

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

Definition at line 119 of file sAddonManager.hh.

◆ mp_listOfProjectors

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

The map of all vProjector children's constructors

Definition at line 89 of file sAddonManager.hh.

◆ mp_listOfScannerTypes

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

Definition at line 164 of file sAddonManager.hh.


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