CASToR  2.0
Tomographic Reconstruction (PET/SPECT/CT)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
vImageProcessingModule Class Referenceabstract

This abstract class is the generic image processing module class used by the oImageProcessingManager. More...

#include <vImageProcessingModule.hh>

Inheritance diagram for vImageProcessingModule:
Inheritance graph
Collaboration diagram for vImageProcessingModule:
Collaboration graph

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

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

Detailed Description

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.

Constructor & Destructor Documentation

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.

vImageProcessingModule::~vImageProcessingModule ( )
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.

Member Function Documentation

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.

Returns
An integer reflecting the check status; 0 if no problem, another value otherwise.

Definition at line 64 of file vImageProcessingModule.cc.

Here is the call graph for this function:

private virtual int vImageProcessingModule::CheckSpecificParameters ( )
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.

Returns
An integer reflecting the check status; 0 if no problem, another value otherwise.

Implemented in iImageProcessingTemplate.

Here is the caller graph for this function:

public bool vImageProcessingModule::GetAffectCardDimensionFlag ( )
inline

Return the boolean value of m_affectCardDimensionFlag member.

Returns
m_affectCardDimensionFlag

Definition at line 206 of file vImageProcessingModule.hh.

Here is the caller graph for this function:

public bool vImageProcessingModule::GetAffectRespDimensionFlag ( )
inline

Return the boolean value of m_affectRespDimensionFlag member.

Returns
m_affectRespDimensionFlag

Definition at line 199 of file vImageProcessingModule.hh.

Here is the caller graph for this function:

public bool vImageProcessingModule::GetAffectTimeDimensionFlag ( )
inline

Return the boolean value of m_affectTimeDimensionFlag member.

Returns
m_affectTimeDimensionFlag

Definition at line 192 of file vImageProcessingModule.hh.

Here is the caller graph for this function:

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.

Returns
An integer reflecting the initialization status; 0 if no problem, another value otherwise.

Definition at line 95 of file vImageProcessingModule.cc.

Here is the call graph for this function:

private virtual int vImageProcessingModule::InitializeSpecific ( )
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.

Returns
An integer reflecting the initialization status; 0 if no problem, another value otherwise.

Implemented in iImageProcessingTemplate.

Here is the caller graph for this function:

public virtual int vImageProcessingModule::Process ( FLTNB ****  a4p_image)
pure virtual

A function used to actually perform the processing.

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

Returns
An integer reflecting the processing success; 0 if success, another value otherwise.

Implemented in iImageProcessingTemplate.

Here is the caller graph for this function:

public virtual int vImageProcessingModule::ReadConfigurationFile ( const string &  a_configurationFile)
pure virtual

A function used to read options from a configuration file.

Parameters
conststring& 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.

Returns
An integer reflecting the reading success; 0 if success, another value otherwise.

Implemented in iImageProcessingTemplate.

public virtual int vImageProcessingModule::ReadOptionsList ( const string &  a_optionsList)
pure virtual

A function used to read options from a list of options.

Parameters
conststring& 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.

Returns
An integer reflecting the reading success; 0 if success, another value otherwise.

Implemented in iImageProcessingTemplate.

public void vImageProcessingModule::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

Set the member mp_ImageDimensionsAndQuantification to the provided value.

Parameters
oImageDimensionsAndQuantification*ap_ImageDimensionsAndQuantification

Definition at line 185 of file vImageProcessingModule.hh.

Here is the caller graph for this function:

public void vImageProcessingModule::SetVerbose ( int  a_verbose)
inline

Set the member m_verboseLevel to the provided value.

Parameters
inta_verboseLevel

Definition at line 178 of file vImageProcessingModule.hh.

Here is the caller graph for this function:

public virtual int vImageProcessingModule::ShowHelp ( )
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.

Here is the caller graph for this function:

Member Data Documentation

bool vImageProcessingModule::m_affectCardDimensionFlag
protected

A boolean that specify if the module is affecting the cardiac dynamic dimension

Definition at line 217 of file vImageProcessingModule.hh.

bool vImageProcessingModule::m_affectRespDimensionFlag
protected

A boolean that specify if the module is affecting the respiratory dynamic dimension

Definition at line 216 of file vImageProcessingModule.hh.

bool vImageProcessingModule::m_affectTimeDimensionFlag
protected

A boolean that specify if the module is affecting the time frame dynamic dimension

Definition at line 215 of file vImageProcessingModule.hh.

bool vImageProcessingModule::m_checked
protected

A boolean that says if the function CheckParameters() has been called

Definition at line 218 of file vImageProcessingModule.hh.

bool vImageProcessingModule::m_initialized
protected

A boolean that says if the function Initialize() has been called

Definition at line 219 of file vImageProcessingModule.hh.

int vImageProcessingModule::m_verbose
protected

The verbose level associated to this class

Definition at line 220 of file vImageProcessingModule.hh.

oImageDimensionsAndQuantification* vImageProcessingModule::mp_ImageDimensionsAndQuantification
protected

The image dimensions

Definition at line 214 of file vImageProcessingModule.hh.


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