CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
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
 
virtual int ReadOptionsList (const string &a_optionsList)=0
 
virtual void ShowHelp ()=0
 A function used to show help about the child module. More...
 
virtual int Process (FLTNB ****a4p_image)=0
 
void SetVerbose (int a_verbose)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
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...
 
 vImageProcessingModule ()
 
virtual ~vImageProcessingModule ()
 
int CheckParameters ()
 
int Initialize ()
 
virtual int ReadConfigurationFile (const string &a_configurationFile)=0
 
virtual int ReadOptionsList (const string &a_optionsList)=0
 
virtual void ShowHelp ()=0
 
virtual int Process (FLTNB ****a4p_image)=0
 
void SetVerbose (int a_verbose)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
bool GetAffectTimeDimensionFlag ()
 
bool GetAffectRespDimensionFlag ()
 
bool GetAffectCardDimensionFlag ()
 

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...
 
virtual int CheckSpecificParameters ()=0
 
virtual int InitializeSpecific ()=0
 

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 30 of file code/include/image/vImageProcessingModule.hh.

Constructor & Destructor Documentation

◆ vImageProcessingModule() [1/2]

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 15 of file code/src/image/vImageProcessingModule.cc.

◆ ~vImageProcessingModule() [1/2]

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 32 of file code/src/image/vImageProcessingModule.cc.

◆ vImageProcessingModule() [2/2]

vImageProcessingModule::vImageProcessingModule ( )

◆ ~vImageProcessingModule() [2/2]

virtual vImageProcessingModule::~vImageProcessingModule ( )
virtual

Member Function Documentation

◆ CheckParameters() [1/2]

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 41 of file code/src/image/vImageProcessingModule.cc.

Here is the call graph for this function:

◆ CheckParameters() [2/2]

int vImageProcessingModule::CheckParameters ( )

◆ CheckSpecificParameters() [1/2]

virtual int vImageProcessingModule::CheckSpecificParameters ( )
privatepure virtual

◆ CheckSpecificParameters() [2/2]

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, and iImageProcessingTemplate.

Here is the caller graph for this function:

◆ GetAffectCardDimensionFlag() [1/2]

public bool vImageProcessingModule::GetAffectCardDimensionFlag ( )
inline

Return the boolean value of m_affectCardDimensionFlag member.

Returns
m_affectCardDimensionFlag

Definition at line 183 of file code/include/image/vImageProcessingModule.hh.

Here is the caller graph for this function:

◆ GetAffectCardDimensionFlag() [2/2]

bool vImageProcessingModule::GetAffectCardDimensionFlag ( )
inline

Definition at line 183 of file include/image/vImageProcessingModule.hh.

◆ GetAffectRespDimensionFlag() [1/2]

bool vImageProcessingModule::GetAffectRespDimensionFlag ( )
inline

Definition at line 176 of file include/image/vImageProcessingModule.hh.

◆ GetAffectRespDimensionFlag() [2/2]

public bool vImageProcessingModule::GetAffectRespDimensionFlag ( )
inline

Return the boolean value of m_affectRespDimensionFlag member.

Returns
m_affectRespDimensionFlag

Definition at line 176 of file code/include/image/vImageProcessingModule.hh.

Here is the caller graph for this function:

◆ GetAffectTimeDimensionFlag() [1/2]

bool vImageProcessingModule::GetAffectTimeDimensionFlag ( )
inline

Definition at line 169 of file include/image/vImageProcessingModule.hh.

◆ GetAffectTimeDimensionFlag() [2/2]

public bool vImageProcessingModule::GetAffectTimeDimensionFlag ( )
inline

Return the boolean value of m_affectTimeDimensionFlag member.

Returns
m_affectTimeDimensionFlag

Definition at line 169 of file code/include/image/vImageProcessingModule.hh.

Here is the caller graph for this function:

◆ Initialize() [1/2]

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 72 of file code/src/image/vImageProcessingModule.cc.

Here is the call graph for this function:

◆ Initialize() [2/2]

int vImageProcessingModule::Initialize ( )

◆ InitializeSpecific() [1/2]

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, and iImageProcessingTemplate.

Here is the caller graph for this function:

◆ InitializeSpecific() [2/2]

virtual int vImageProcessingModule::InitializeSpecific ( )
privatepure virtual

◆ Process() [1/2]

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

◆ Process() [2/2]

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

Implemented in iImageProcessingTemplate, and iImageProcessingTemplate.

Here is the caller graph for this function:

◆ ReadConfigurationFile() [1/2]

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

◆ ReadConfigurationFile() [2/2]

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

◆ ReadOptionsList() [1/2]

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

◆ ReadOptionsList() [2/2]

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

◆ SetImageDimensionsAndQuantification() [1/2]

void vImageProcessingModule::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

Definition at line 162 of file code/include/image/vImageProcessingModule.hh.

Here is the caller graph for this function:

◆ SetImageDimensionsAndQuantification() [2/2]

void vImageProcessingModule::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

Definition at line 162 of file include/image/vImageProcessingModule.hh.

◆ SetVerbose() [1/2]

void vImageProcessingModule::SetVerbose ( int  a_verbose)
inline

Definition at line 155 of file code/include/image/vImageProcessingModule.hh.

Here is the caller graph for this function:

◆ SetVerbose() [2/2]

void vImageProcessingModule::SetVerbose ( int  a_verbose)
inline

Definition at line 155 of file include/image/vImageProcessingModule.hh.

◆ ShowHelp() [1/2]

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, and iImageProcessingTemplate.

Here is the caller graph for this function:

◆ ShowHelp() [2/2]

virtual void vImageProcessingModule::ShowHelp ( )
pure virtual

Member Data Documentation

◆ m_affectCardDimensionFlag

bool vImageProcessingModule::m_affectCardDimensionFlag
protected

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

Definition at line 194 of file code/include/image/vImageProcessingModule.hh.

◆ m_affectRespDimensionFlag

bool vImageProcessingModule::m_affectRespDimensionFlag
protected

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

Definition at line 193 of file code/include/image/vImageProcessingModule.hh.

◆ m_affectTimeDimensionFlag

bool vImageProcessingModule::m_affectTimeDimensionFlag
protected

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

Definition at line 192 of file code/include/image/vImageProcessingModule.hh.

◆ m_checked

bool vImageProcessingModule::m_checked
protected

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

Definition at line 195 of file code/include/image/vImageProcessingModule.hh.

◆ m_initialized

bool vImageProcessingModule::m_initialized
protected

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

Definition at line 196 of file code/include/image/vImageProcessingModule.hh.

◆ m_verbose

int vImageProcessingModule::m_verbose
protected

The verbose level associated to this class

Definition at line 197 of file code/include/image/vImageProcessingModule.hh.

◆ mp_ImageDimensionsAndQuantification

oImageDimensionsAndQuantification * vImageProcessingModule::mp_ImageDimensionsAndQuantification
protected

The image dimensions

Definition at line 191 of file code/include/image/vImageProcessingModule.hh.


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