CASToR
2.0
Tomographic Reconstruction (PET/SPECT/CT)
|
This abstract class is the generic image processing module class used by the oImageProcessingManager. More...
#include <vImageProcessingModule.hh>
Public Member Functions | |
vImageProcessingModule () | |
The constructor of vImageProcessingModule. More... | |
virtual | ~vImageProcessingModule () |
The destructor of vImageProcessingModule. More... | |
int | CheckParameters () |
A public function used to check the parameters settings. More... | |
int | Initialize () |
A public function used to initialize the module. More... | |
virtual int | ReadConfigurationFile (const string &a_configurationFile)=0 |
A function used to read options from a configuration file. More... | |
virtual int | ReadOptionsList (const string &a_optionsList)=0 |
A function used to read options from a list of options. More... | |
virtual void | ShowHelp ()=0 |
A function used to show help about the child module. More... | |
virtual int | Process (FLTNB ****a4p_image)=0 |
A function used to actually perform the processing. More... | |
void | SetVerbose (int a_verbose) |
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... | |
bool | GetAffectTimeDimensionFlag () |
Return the boolean value of m_affectTimeDimensionFlag member. More... | |
bool | GetAffectRespDimensionFlag () |
Return the boolean value of m_affectRespDimensionFlag member. More... | |
bool | GetAffectCardDimensionFlag () |
Return the boolean value of m_affectCardDimensionFlag member. More... | |
Protected Attributes | |
oImageDimensionsAndQuantification * | mp_ImageDimensionsAndQuantification |
bool | m_affectTimeDimensionFlag |
bool | m_affectRespDimensionFlag |
bool | m_affectCardDimensionFlag |
bool | m_checked |
bool | m_initialized |
int | m_verbose |
Private Member Functions | |
virtual int | CheckSpecificParameters ()=0 |
A private function used to check the parameters settings specific to the child module. More... | |
virtual int | InitializeSpecific ()=0 |
A private function used to initialize everything specific to the child module. More... | |
This abstract class is the generic image processing module class used by the oImageProcessingManager.
This abstract class is the base of all implemented image processing modules inheriting from it.
It is used by the oImageProcessingManager that instantiate a collection of children objects based on the provided options. It implements two public functions:
(i) CheckParameters() which checks the mandatory common parameters and calls the pure virtual CheckSpecificParameters() function implemented by each child;
(ii) Initialize() which initializes some common stuff and calls the pure virtual InitializeSpecific() function implemented by each child.
It also specifies other pure virtual functions dedicated to the reading of options and help associated to each child, and the main Process() function which actually implements the specific processing of each child module. As an example of a child module, see the iImageProcessingTemplate child class that illustrates how a specific image processing module should be implemented.
Definition at line 53 of file vImageProcessingModule.hh.
vImageProcessingModule::vImageProcessingModule | ( | ) |
The constructor of vImageProcessingModule.
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 38 of file vImageProcessingModule.cc.
|
virtual |
The destructor of vImageProcessingModule.
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.
It is virtual, so that it is automatically called when a child object is deleted.
Definition at line 55 of file vImageProcessingModule.cc.
int vImageProcessingModule::CheckParameters | ( | ) |
A public 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. At the end, it calls the pure virtual CheckSpecificParameters() function implemented by children.
Definition at line 64 of file vImageProcessingModule.cc.
|
privatepure virtual |
A private function used to check the parameters settings specific to the child module.
This function is used to check that all parameters specific to the module are correctly set within allowed values. It is called by the CheckParameters() function. It is pure virtual so is implemented by children.
Implemented in iImageProcessingTemplate.
|
inline |
Return the boolean value of m_affectCardDimensionFlag member.
Definition at line 206 of file vImageProcessingModule.hh.
|
inline |
Return the boolean value of m_affectRespDimensionFlag member.
Definition at line 199 of file vImageProcessingModule.hh.
|
inline |
Return the boolean value of m_affectTimeDimensionFlag member.
Definition at line 192 of file vImageProcessingModule.hh.
int vImageProcessingModule::Initialize | ( | ) |
A public function used to initialize the module.
This function does not take any parameter and is used to initialize everything that should be initialized. At the end, it calls the pure virtual InitializeSpecific() function implemented by children.
Definition at line 95 of file vImageProcessingModule.cc.
|
privatepure virtual |
A private function used to initialize everything specific to the child module.
This function is used to initialize everything specific to the module that should be initialized. It is called by the Initialize() function. It is pure virtual so is implemented by children.
Implemented in iImageProcessingTemplate.
|
pure virtual |
A function used to actually perform the processing.
FLTNB**** | a4p_image |
This function implements processing specific to the child module. The provided parameter is the image to be processed. First pointer for the time basis functions/frames dimension, second pointer for the respiratory basis functions/gates dimension, third pointer for the cardiac basis functions/gates dimension, and fourth pointer for the voxels. It is pure virtual so is implented by children.
Implemented in iImageProcessingTemplate.
|
pure virtual |
A function used to read options from a configuration file.
const | string& a_configurationFile |
This function implements the reading of all options associated to a child module, from a configuration file. It is pure virtual so is implemented by children. It checks the reading status but not the options values that will be checked by the CheckSpecificParameters() function.
Implemented in iImageProcessingTemplate.
|
pure virtual |
A function used to read options from a list of options.
const | string& a_optionsList |
This function implements the reading of all options associated to a child module, from a list of options. It is pure virtual so is implemented by children. It checks the reading status but not the options values that will be checked by the CheckSpecificParameters() function.
Implemented in iImageProcessingTemplate.
|
inline |
Set the member mp_ImageDimensionsAndQuantification to the provided value.
oImageDimensionsAndQuantification* | ap_ImageDimensionsAndQuantification |
Definition at line 185 of file vImageProcessingModule.hh.
|
inline |
Set the member m_verboseLevel to the provided value.
int | a_verboseLevel |
Definition at line 178 of file vImageProcessingModule.hh.
|
pure virtual |
A function used to show help about the child module.
This function must describe what the module does and how to use it. It describes in details the different parameters of the module, and how to set them through the use of a configuration file or a list of options. It is pure virtual so is implemented by children.
Implemented in iImageProcessingTemplate.
|
protected |
A boolean that specify if the module is affecting the cardiac dynamic dimension
Definition at line 217 of file vImageProcessingModule.hh.
|
protected |
A boolean that specify if the module is affecting the respiratory dynamic dimension
Definition at line 216 of file vImageProcessingModule.hh.
|
protected |
A boolean that specify if the module is affecting the time frame dynamic dimension
Definition at line 215 of file vImageProcessingModule.hh.
|
protected |
A boolean that says if the function CheckParameters() has been called
Definition at line 218 of file vImageProcessingModule.hh.
|
protected |
A boolean that says if the function Initialize() has been called
Definition at line 219 of file vImageProcessingModule.hh.
|
protected |
The verbose level associated to this class
Definition at line 220 of file vImageProcessingModule.hh.
|
protected |
The image dimensions
Definition at line 214 of file vImageProcessingModule.hh.