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

This class is a template of an image processing module to serve as an example. More...

#include <iImageProcessingTemplate.hh>

Inheritance diagram for iImageProcessingTemplate:
Inheritance graph
Collaboration diagram for iImageProcessingTemplate:
Collaboration graph

Public Member Functions

 iImageProcessingTemplate ()
 The constructor of iImageProcessingTemplate. More...
 
 ~iImageProcessingTemplate ()
 The destructor of iImageProcessingTemplate. More...
 
int ReadConfigurationFile (const string &a_configurationFile)
 A function used to read options from a configuration file. More...
 
int ReadOptionsList (const string &a_optionsList)
 A function used to read options from a list of options. More...
 
void ShowHelp ()
 A function used to show help about the child module. More...
 
int Process (FLTNB ****a4p_image)
 A function used to actually perform the processing. More...
 
- Public Member Functions inherited from vImageProcessingModule
 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...
 
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...
 

Private Member Functions

int CheckSpecificParameters ()
 A private function used to check the parameters settings specific to the child module. More...
 
int InitializeSpecific ()
 A private function used to initialize everything specific to the child module. More...
 

Additional Inherited Members

- Protected Attributes inherited from vImageProcessingModule
oImageDimensionsAndQuantificationmp_ImageDimensionsAndQuantification
 
bool m_affectTimeDimensionFlag
 
bool m_affectRespDimensionFlag
 
bool m_affectCardDimensionFlag
 
bool m_checked
 
bool m_initialized
 
int m_verbose
 

Detailed Description

This class is a template of an image processing module to serve as an example.

This class is a child of vImageProcessingModule. It is a template of an image processing module that implements all mandatory parts to be compilable but does not do nothing. It can be used as a starting point to implement ones own image processing module. Many explanations are provided within the corpus of all functions to guide through the implementation of ones own module. In a few words, one simply has to implement few pure virtual functions inherited from the vImageProcessingModule abstract class, while observing a few rules.

Definition at line 51 of file iImageProcessingTemplate.hh.

Constructor & Destructor Documentation

iImageProcessingTemplate::iImageProcessingTemplate ( )

The constructor of iImageProcessingTemplate.

This is the default and unique constructor. It does not take any parameter and its role is:
(i) to affect default values to parameters specific to this module;
(ii) to affect the values of the three booleans m_affectTimeDimensionFlag, m_affectRespDimensionFlag and m_affectCardDimensionFlag
These booleans are inherited from the abstract class vImageProcessingModule, that specifies if this specific module will affect or operate on the different dynamic dimensions. This is used by the oImageProcessingManager to check that dynamic basis functions are not used at the same time as a module that work on these dimensions too.

Definition at line 39 of file iImageProcessingTemplate.cc.

iImageProcessingTemplate::~iImageProcessingTemplate ( )

The destructor of iImageProcessingTemplate.

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 built specifically by this module.

Definition at line 59 of file iImageProcessingTemplate.cc.

Member Function Documentation

int iImageProcessingTemplate::CheckSpecificParameters ( )
privatevirtual

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 of the mother class. It is the implementation of the pure virtual function inherited from the abstract mother class vImageProcessingModule.

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

Implements vImageProcessingModule.

Definition at line 107 of file iImageProcessingTemplate.cc.

int iImageProcessingTemplate::InitializeSpecific ( )
privatevirtual

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 of the mother class. It is the implementation of the pure virtual function inherited from the abstract mother class vImageProcessingModule.

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

Implements vImageProcessingModule.

Definition at line 120 of file iImageProcessingTemplate.cc.

int iImageProcessingTemplate::Process ( FLTNB ****  a4p_image)
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 the implementation of the pure virtual function inherited from the abstract class vImageProcessingModule.

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

Implements vImageProcessingModule.

Definition at line 132 of file iImageProcessingTemplate.cc.

int iImageProcessingTemplate::ReadConfigurationFile ( const string &  a_configurationFile)
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 the implementation of the pure virtual function inherited from the abstract class vImageProcessingModule. 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.

Implements vImageProcessingModule.

Definition at line 69 of file iImageProcessingTemplate.cc.

int iImageProcessingTemplate::ReadOptionsList ( const string &  a_optionsList)
virtual

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

Parameters
conststring& a_configurationFile

This function implements the reading of all options associated to a child module, from a list of options. It is the implementation of the pure virtual function inherited from the abstract class vImageProcessingModule. 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.

Implements vImageProcessingModule.

Definition at line 82 of file iImageProcessingTemplate.cc.

void iImageProcessingTemplate::ShowHelp ( )
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 the implementation of the pure virtual function inherited from the abstract class vImageProcessingModule.

Implements vImageProcessingModule.

Definition at line 95 of file iImageProcessingTemplate.cc.


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