CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
Public Member Functions | Protected Member Functions | List of all members
iIterativeAlgorithm Class Reference

#include <iIterativeAlgorithm.hh>

Inheritance diagram for iIterativeAlgorithm:
Inheritance graph
Collaboration diagram for iIterativeAlgorithm:
Collaboration graph

Public Member Functions

 iIterativeAlgorithm ()
 
 ~iIterativeAlgorithm ()
 
int InitSpecificOptions (string a_specificOptions)
 
 iIterativeAlgorithm ()
 
 ~iIterativeAlgorithm ()
 
int InitSpecificOptions (string a_specificOptions)
 
- Public Member Functions inherited from vAlgorithm
 vAlgorithm ()
 vAlgorithm constructor. Initialize the member variables to their default values. More...
 
virtual ~vAlgorithm ()
 vAlgorithm destructor. More...
 
int Run ()
 Just call either the RunCPU or the RunGPU function as asked for. More...
 
int RunCPU ()
 Perform the iterative loop of the algorithm. Function designed to be executed on the CPU only. More...
 
void SetSaveSensitivityHistoFlag (bool a_saveSensitivityHistoFlag)
 
void SetSaveSubsetImageFlag (bool a_saveImageAfterSubsets)
 
void SetSaveDynamicBasisCoefficientImages (bool a_saveDynamicBasisCoefficients)
 
void SetOptimizerManager (oOptimizerManager *ap_OptimizerManager)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetImageSpace (oImageSpace *ap_ImageSpace)
 
void SetProjectorManager (oProjectorManager *ap_ProjectorManager)
 
void SetImageConvolverManager (oImageConvolverManager *ap_ImageConvolverManager)
 
void SetImageProcessingManager (oImageProcessingManager *ap_ImageProcessingManager)
 
void SetDynamicModelManager (oDynamicModelManager *ap_DynamicModelManager)
 
void SetDeformationManager (oDeformationManager *ap_DeformationManager)
 
void SetDataFile (vDataFile **a2p_DataFile)
 
void SetGPUflag (bool a_flagGPU)
 
void SetVerbose (int a_verboseLevel)
 
void SetNbBeds (int a_nbBeds)
 
void SetPathInitImage (string a_pathToInitialImage)
 
void SetPathToAttenuationImage (string a_pathToAttenuationImage)
 
void SetPathToSensitivityImage (string a_pathToSensitivityImage)
 
void SetPathToMultiModalImage (vector< string > a_pathToMultiModalImage)
 
int SetNbIterationsAndSubsets (const string &a_nbIterationsSubsets)
 
int SetOutputIterations (const string &a_outputIterations)
 
virtual void ShowHelpSpecific ()
 Show help for the child algorithm. More...
 
 vAlgorithm ()
 
virtual ~vAlgorithm ()
 
int Run ()
 
int RunCPU ()
 
void SetSaveSensitivityHistoFlag (bool a_saveSensitivityHistoFlag)
 
void SetSaveSubsetImageFlag (bool a_saveImageAfterSubsets)
 
void SetSaveDynamicBasisCoefficientImages (bool a_saveDynamicBasisCoefficients)
 
void SetOptimizerManager (oOptimizerManager *ap_OptimizerManager)
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetImageSpace (oImageSpace *ap_ImageSpace)
 
void SetProjectorManager (oProjectorManager *ap_ProjectorManager)
 
void SetImageConvolverManager (oImageConvolverManager *ap_ImageConvolverManager)
 
void SetImageProcessingManager (oImageProcessingManager *ap_ImageProcessingManager)
 
void SetDynamicModelManager (oDynamicModelManager *ap_DynamicModelManager)
 
void SetDeformationManager (oDeformationManager *ap_DeformationManager)
 
void SetDataFile (vDataFile **a2p_DataFile)
 
void SetGPUflag (bool a_flagGPU)
 
void SetVerbose (int a_verboseLevel)
 
void SetNbBeds (int a_nbBeds)
 
void SetPathInitImage (string a_pathToInitialImage)
 
void SetPathToAttenuationImage (string a_pathToAttenuationImage)
 
void SetPathToSensitivityImage (string a_pathToSensitivityImage)
 
void SetPathToMultiModalImage (vector< string > a_pathToMultiModalImage)
 
int SetNbIterationsAndSubsets (const string &a_nbIterationsSubsets)
 
void SetNbSkippedIterations (const string &a_skippedIterations)
 Set the number of first iterations to be skipped. More...
 
int SetOutputIterations (const string &a_outputIterations)
 
virtual void ShowHelpSpecific ()
 

Protected Member Functions

int StepBeforeIterationLoop ()
 This function is called at the beginning of the RunCPU function. More...
 
int StepAfterIterationLoop ()
 This function is called at the end of the RunCPU function. More...
 
int StepBeforeSubsetLoop (int a_iteration)
 
int StepAfterSubsetLoop (int a_iteration)
 
int StepPreProcessInsideSubsetLoop (int a_iteration, int a_subset)
 
int StepPostProcessInsideSubsetLoop (int a_iteration, int a_subset)
 
int StepInnerLoopInsideSubsetLoop (int a_iteration, int a_subset, int a_bed)
 
int StepImageOutput (int a_iteration, int a_subset=-1)
 
int StepBeforeIterationLoop ()
 This function is called at the beginning of the RunCPU function. More...
 
int StepAfterIterationLoop ()
 This function is called at the end of the RunCPU function. More...
 
int StepBeforeSubsetLoop (int a_iteration)
 
int StepAfterSubsetLoop (int a_iteration)
 
int StepPreProcessInsideSubsetLoop (int a_iteration, int a_subset)
 
int StepPostProcessInsideSubsetLoop (int a_iteration, int a_subset)
 
int StepInnerLoopInsideSubsetLoop (int a_iteration, int a_subset, int a_bed)
 
int StepImageOutput (int a_iteration, int a_subset=-1)
 
int PreOrPostIterationIndependentStep ()
 Perform an additional loop over data as well as the pre and post steps inside subset loop but without considering subsets. More...
 

Additional Inherited Members

- Protected Attributes inherited from vAlgorithm
int m_nbIterations
 
int * mp_nbSubsets
 
bool * mp_outputIterations
 
int m_verbose
 
bool m_flagGPU
 
oImageDimensionsAndQuantificationmp_ID
 
vDataFile ** m2p_DataFile
 
oProjectorManagermp_ProjectorManager
 
oOptimizerManagermp_OptimizerManager
 
oDeformationManagermp_DeformationManager
 
oDynamicModelManagermp_DynamicModelManager
 
oImageSpacemp_ImageSpace
 
oImageConvolverManagermp_ImageConvolverManager
 
oImageProcessingManagermp_ImageProcessingManager
 
int m_nbBeds
 
string m_pathToInitialImg
 
string m_pathToAtnImg
 
string m_pathToSensitivityImg
 
vector< string > m_pathToMultiModalImg
 
bool m_saveSensitivityHistoFlag
 
bool m_saveImageAfterSubsets
 
bool m_saveDynamicBasisCoefficients
 
int m_nbSkippedIterations
 

Detailed Description

Definition at line 30 of file code/include/algorithm/iIterativeAlgorithm.hh.

Constructor & Destructor Documentation

◆ iIterativeAlgorithm() [1/2]

iIterativeAlgorithm::iIterativeAlgorithm ( )

Definition at line 17 of file code/src/algorithm/iIterativeAlgorithm.cc.

◆ ~iIterativeAlgorithm() [1/2]

iIterativeAlgorithm::~iIterativeAlgorithm ( )

Definition at line 26 of file code/src/algorithm/iIterativeAlgorithm.cc.

◆ iIterativeAlgorithm() [2/2]

iIterativeAlgorithm::iIterativeAlgorithm ( )

◆ ~iIterativeAlgorithm() [2/2]

iIterativeAlgorithm::~iIterativeAlgorithm ( )

Member Function Documentation

◆ InitSpecificOptions() [1/2]

int iIterativeAlgorithm::InitSpecificOptions ( string  a_specificOptions)
virtual

Reimplemented from vAlgorithm.

Definition at line 601 of file code/src/algorithm/iIterativeAlgorithm.cc.

Here is the caller graph for this function:

◆ InitSpecificOptions() [2/2]

int iIterativeAlgorithm::InitSpecificOptions ( string  a_specificOptions)
virtual

Reimplemented from vAlgorithm.

◆ PreOrPostIterationIndependentStep()

int iIterativeAlgorithm::PreOrPostIterationIndependentStep ( )
protected

Perform an additional loop over data as well as the pre and post steps inside subset loop but without considering subsets.

Returns
0 if success, positivie value otherwise.

Definition at line 641 of file src/algorithm/iIterativeAlgorithm.cc.

Here is the call graph for this function:

◆ StepAfterIterationLoop() [1/2]

int iIterativeAlgorithm::StepAfterIterationLoop ( )
protectedvirtual

This function is called at the end of the RunCPU function.

Free Memory for the imageSpace and some managers

Returns
0 if success, positive value otherwise.

Reimplemented from vAlgorithm.

Definition at line 500 of file code/src/algorithm/iIterativeAlgorithm.cc.

Here is the call graph for this function:

◆ StepAfterIterationLoop() [2/2]

int iIterativeAlgorithm::StepAfterIterationLoop ( )
protectedvirtual

This function is called at the end of the RunCPU function.

Returns
0 if success, positive value otherwise.

Reimplemented from vAlgorithm.

◆ StepAfterSubsetLoop() [1/2]

int iIterativeAlgorithm::StepAfterSubsetLoop ( int  a_iteration)
protectedvirtual

Reimplemented from vAlgorithm.

Definition at line 474 of file code/src/algorithm/iIterativeAlgorithm.cc.

Here is the call graph for this function:

◆ StepAfterSubsetLoop() [2/2]

int iIterativeAlgorithm::StepAfterSubsetLoop ( int  a_iteration)
protectedvirtual

Reimplemented from vAlgorithm.

◆ StepBeforeIterationLoop() [1/2]

int iIterativeAlgorithm::StepBeforeIterationLoop ( )
protectedvirtual

This function is called at the beginning of the RunCPU function.

Initialization and memory allocation for the imageSpace and some managers

Returns
0 if success, positive value otherwise.

Reimplemented from vAlgorithm.

Definition at line 35 of file code/src/algorithm/iIterativeAlgorithm.cc.

Here is the call graph for this function:

◆ StepBeforeIterationLoop() [2/2]

int iIterativeAlgorithm::StepBeforeIterationLoop ( )
protectedvirtual

This function is called at the beginning of the RunCPU function.

Returns
0 if success, positive value otherwise.

Reimplemented from vAlgorithm.

◆ StepBeforeSubsetLoop() [1/2]

int iIterativeAlgorithm::StepBeforeSubsetLoop ( int  a_iteration)
protectedvirtual

Reimplemented from vAlgorithm.

Definition at line 66 of file code/src/algorithm/iIterativeAlgorithm.cc.

Here is the call graph for this function:

◆ StepBeforeSubsetLoop() [2/2]

int iIterativeAlgorithm::StepBeforeSubsetLoop ( int  a_iteration)
protectedvirtual

Reimplemented from vAlgorithm.

◆ StepImageOutput() [1/2]

int iIterativeAlgorithm::StepImageOutput ( int  a_iteration,
int  a_subset = -1 
)
protectedvirtual

Implements vAlgorithm.

Definition at line 522 of file code/src/algorithm/iIterativeAlgorithm.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ StepImageOutput() [2/2]

int iIterativeAlgorithm::StepImageOutput ( int  a_iteration,
int  a_subset = -1 
)
protectedvirtual

Implements vAlgorithm.

◆ StepInnerLoopInsideSubsetLoop() [1/2]

int iIterativeAlgorithm::StepInnerLoopInsideSubsetLoop ( int  a_iteration,
int  a_subset,
int  a_bed 
)
protectedvirtual

Implements vAlgorithm.

Definition at line 132 of file code/src/algorithm/iIterativeAlgorithm.cc.

Here is the call graph for this function:

◆ StepInnerLoopInsideSubsetLoop() [2/2]

int iIterativeAlgorithm::StepInnerLoopInsideSubsetLoop ( int  a_iteration,
int  a_subset,
int  a_bed 
)
protectedvirtual

Implements vAlgorithm.

◆ StepPostProcessInsideSubsetLoop() [1/2]

int iIterativeAlgorithm::StepPostProcessInsideSubsetLoop ( int  a_iteration,
int  a_subset 
)
protectedvirtual

Reimplemented from vAlgorithm.

◆ StepPostProcessInsideSubsetLoop() [2/2]

int iIterativeAlgorithm::StepPostProcessInsideSubsetLoop ( int  a_iteration,
int  a_subset 
)
protectedvirtual

Reimplemented from vAlgorithm.

Definition at line 379 of file code/src/algorithm/iIterativeAlgorithm.cc.

Here is the call graph for this function:

◆ StepPreProcessInsideSubsetLoop() [1/2]

int iIterativeAlgorithm::StepPreProcessInsideSubsetLoop ( int  a_iteration,
int  a_subset 
)
protectedvirtual

Reimplemented from vAlgorithm.

◆ StepPreProcessInsideSubsetLoop() [2/2]

int iIterativeAlgorithm::StepPreProcessInsideSubsetLoop ( int  a_iteration,
int  a_subset 
)
protectedvirtual

Reimplemented from vAlgorithm.

Definition at line 82 of file code/src/algorithm/iIterativeAlgorithm.cc.

Here is the call graph for this function:

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