CASToR
2.0
Tomographic Reconstruction (PET/SPECT/CT)
|
This class is designed to manage the different image processing modules and to apply them. More...
#include <oImageProcessingManager.hh>
Public Member Functions | |
oImageProcessingManager () | |
The constructor of oImageProcessingManager. More... | |
~oImageProcessingManager () | |
The destructor of oImageProcessingManager. More... | |
int | CheckParameters () |
A function used to check the parameters settings. More... | |
int | Initialize () |
A function used to initialize the manager and all image processing modules it manages. More... | |
int | ApplyProcessingForward (oImageSpace *ap_ImageSpace) |
int | ApplyProcessingIntra (oImageSpace *ap_ImageSpace) |
int | ApplyProcessingPost (oImageSpace *ap_ImageSpace) |
void | SetVerbose (int a_verboseLevel) |
Set the member m_verboseLevel to the provided value. More... | |
void | SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification) |
Set the member mp_ImageDimensionsAndQuantification to the provided value. More... | |
void | SetOptions (vector< string > a_options) |
Set the member m_options to the provided value. More... | |
Static Public Member Functions | |
static void | ShowCommonHelp () |
This function does not take any parameter and is used to display some help about the syntax of the options describing the image processing module that should be used. It is static so that it can be called without any object initialization. More... | |
Private Member Functions | |
int | ParseOptionsAndInitializeImageProcessingModules () |
A function used to parse options and initialize image processing modules. More... | |
Private Attributes | |
oImageDimensionsAndQuantification * | mp_ImageDimensionsAndQuantification |
vector< string > | m_options |
int | m_nbImageProcessingModules |
vImageProcessingModule ** | m2p_ImageProcessingModules |
bool * | mp_applyForward |
bool * | mp_applyIntra |
bool * | mp_applyPost |
bool | m_checked |
bool | m_initialized |
int | m_verbose |
This class is designed to manage the different image processing modules and to apply them.
This manager class is supposed to be created and initialized in the main program. To do so, the following steps must be used: (i) The empty constructor is called which affect all members with default values. (ii) All parameters are set through the use of SetXXX() functions. (iii) The CheckParameters() function is called to check that everything mandatory has been set. (iv) The Initialize() function is called to initialize everything. (v) Now the action functions of the manager can be called to apply the different image processing modules. In a few words, based on supplied options, the manager will create children of the abstract vImageProcessingModule class which are specific image processing modules. As an example, see the iImageProcessingTemplate child class that illustrates how a specific image processing module should be implemented.
Definition at line 52 of file oImageProcessingManager.hh.
oImageProcessingManager::oImageProcessingManager | ( | ) |
The constructor of oImageProcessingManager.
This is the default and unique constructor. It does not take any parameter and its role is only to affect default values to each member of the class.
Definition at line 39 of file oImageProcessingManager.cc.
oImageProcessingManager::~oImageProcessingManager | ( | ) |
The destructor of oImageProcessingManager.
This is the default and unique destructor. It does not take any parameter and its role is only to free or delete all structures that were build by this class.
Definition at line 63 of file oImageProcessingManager.cc.
int oImageProcessingManager::ApplyProcessingForward | ( | oImageSpace * | ap_ImageSpace | ) |
Definition at line 353 of file oImageProcessingManager.cc.
int oImageProcessingManager::ApplyProcessingIntra | ( | oImageSpace * | ap_ImageSpace | ) |
Definition at line 386 of file oImageProcessingManager.cc.
int oImageProcessingManager::ApplyProcessingPost | ( | oImageSpace * | ap_ImageSpace | ) |
Definition at line 419 of file oImageProcessingManager.cc.
int oImageProcessingManager::CheckParameters | ( | ) |
A function used to check the parameters settings.
This function does not take any parameter and is used to check that all mandatory members were correctly parameterized.
Definition at line 78 of file oImageProcessingManager.cc.
int oImageProcessingManager::Initialize | ( | ) |
A function used to initialize the manager and all image processing modules it manages.
This function does not take any parameter and is used to initialize everything that should be initialized. In a few words, it parses the options, then creates and initializes all image processing modules based on the provided options.
Definition at line 136 of file oImageProcessingManager.cc.
|
private |
A function used to parse options and initialize image processing modules.
This function first parses the options contained in the member m_options. Each string of the vector describes an image processing module to be used. Based on a specific syntax, the options are parsed to get the name of the processing module, its associated parameters and the steps of application. Based on this, the image processing modules are initialized. This function is private because it is called by the Initialize() function.
Definition at line 169 of file oImageProcessingManager.cc.
|
inline |
Set the member mp_ImageDimensionsAndQuantification to the provided value.
oImageDimensionsAndQuantification* | ap_ImageDimensionsAndQuantification |
Definition at line 158 of file oImageProcessingManager.hh.
|
inline |
Set the member m_options to the provided value.
vector<string> | a_options |
Definition at line 165 of file oImageProcessingManager.hh.
|
inline |
Set the member m_verboseLevel to the provided value.
int | a_verboseLevel |
Definition at line 151 of file oImageProcessingManager.hh.
|
static |
This function does not take any parameter and is used to display some help about the syntax of the options describing the image processing module that should be used. It is static so that it can be called without any object initialization.
Definition at line 103 of file oImageProcessingManager.cc.
|
private |
The actual image processing modules (as many as m_nbImageProcessingModules)
Definition at line 195 of file oImageProcessingManager.hh.
|
private |
A boolean that says if the function CheckParameters() has been called
Definition at line 199 of file oImageProcessingManager.hh.
|
private |
A boolean that says if the function Initialize() has been called
Definition at line 200 of file oImageProcessingManager.hh.
|
private |
The number of image processing modules managed by this manager
Definition at line 193 of file oImageProcessingManager.hh.
|
private |
A vector containing strings of options, each string is associated to an image processing module
Definition at line 192 of file oImageProcessingManager.hh.
|
private |
The verbose level associated to this class
Definition at line 201 of file oImageProcessingManager.hh.
|
private |
As many booleans as m_nbImageProcessingModules specifying if each module should be apply within the ConvolveForward function
Definition at line 196 of file oImageProcessingManager.hh.
|
private |
As many booleans as m_nbImageProcessingModules specifying if each module should be apply within the ConvolveIntra function
Definition at line 197 of file oImageProcessingManager.hh.
|
private |
As many booleans as m_nbImageProcessingModules specifying if each module should be apply within the ConvolvePost function
Definition at line 198 of file oImageProcessingManager.hh.
|
private |
The image dimensions
Definition at line 191 of file oImageProcessingManager.hh.