![]() |
CASToR
3.2
Tomographic Reconstruction (PET/SPECT/CT)
|
This is the base class for reconstructions, containing a framework with iteration and data subset loops.
It contains all the managers and the images.
More...
#include <vAlgorithm.hh>
Public Member Functions | |
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 int | InitSpecificOptions (string a_specificOptions) |
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 int | InitSpecificOptions (string a_specificOptions) |
virtual void | ShowHelpSpecific () |
Protected Member Functions | |
virtual int | StepBeforeIterationLoop () |
This function is called at the beginning of the RunCPU function. More... | |
virtual int | StepAfterIterationLoop () |
This function is called at the end of the RunCPU function. More... | |
virtual int | StepBeforeSubsetLoop (int a_iteration) |
virtual int | StepAfterSubsetLoop (int a_iteration) |
virtual int | StepPreProcessInsideSubsetLoop (int a_iteration, int a_subset) |
virtual int | StepPostProcessInsideSubsetLoop (int a_iteration, int a_subset) |
virtual int | StepInnerLoopInsideSubsetLoop (int a_iteration, int a_subset, int a_bed)=0 |
virtual int | StepImageOutput (int a_iteration, int a_subset=-1)=0 |
virtual int | StepBeforeIterationLoop () |
virtual int | StepAfterIterationLoop () |
virtual int | StepBeforeSubsetLoop (int a_iteration) |
virtual int | StepAfterSubsetLoop (int a_iteration) |
virtual int | StepPreProcessInsideSubsetLoop (int a_iteration, int a_subset) |
virtual int | StepPostProcessInsideSubsetLoop (int a_iteration, int a_subset) |
virtual int | StepInnerLoopInsideSubsetLoop (int a_iteration, int a_subset, int a_bed)=0 |
virtual int | StepImageOutput (int a_iteration, int a_subset=-1)=0 |
Protected Attributes | |
int | m_nbIterations |
int * | mp_nbSubsets |
bool * | mp_outputIterations |
int | m_verbose |
bool | m_flagGPU |
oImageDimensionsAndQuantification * | mp_ID |
vDataFile ** | m2p_DataFile |
oProjectorManager * | mp_ProjectorManager |
oOptimizerManager * | mp_OptimizerManager |
oDeformationManager * | mp_DeformationManager |
oDynamicModelManager * | mp_DynamicModelManager |
oImageSpace * | mp_ImageSpace |
oImageConvolverManager * | mp_ImageConvolverManager |
oImageProcessingManager * | mp_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 |
This is the base class for reconstructions, containing a framework with iteration and data subset loops.
It contains all the managers and the images.
Definition at line 29 of file code/include/algorithm/vAlgorithm.hh.
vAlgorithm::vAlgorithm | ( | ) |
vAlgorithm constructor. Initialize the member variables to their default values.
Definition at line 17 of file code/src/algorithm/vAlgorithm.cc.
|
virtual |
vAlgorithm destructor.
Definition at line 50 of file code/src/algorithm/vAlgorithm.cc.
vAlgorithm::vAlgorithm | ( | ) |
|
virtual |
|
virtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
Definition at line 486 of file code/src/algorithm/vAlgorithm.cc.
|
virtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
int vAlgorithm::Run | ( | ) |
int vAlgorithm::Run | ( | ) |
Just call either the RunCPU or the RunGPU function as asked for.
Definition at line 210 of file code/src/algorithm/vAlgorithm.cc.
int vAlgorithm::RunCPU | ( | ) |
Perform the iterative loop of the algorithm. Function designed to be executed on the CPU only.
Loops over the iterations, data subsets, bed positions
StepBeforeIterationLoop()
/ Loop on iterations
| StepBeforeSubsetLoop(iteration)
| / Loop on data subsets
| | StepPreProcessInsideSubsetLoop(iteration,subset)
| | / Loop on bed positions
| | | StepInnerLoopInsideSubsetLoop(iteration,subset,bed)
| | StepPostProcessInsideSubsetLoop(iteration,subset)
| StepAfterSubsetLoop(iteration)
StepAfterIterationLoop()
Definition at line 229 of file code/src/algorithm/vAlgorithm.cc.
int vAlgorithm::RunCPU | ( | ) |
|
inline |
Definition at line 168 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 168 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 161 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 161 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 154 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 154 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 175 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 175 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 140 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 140 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 119 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 119 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 147 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 147 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 126 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 126 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 189 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 189 of file include/algorithm/vAlgorithm.hh.
int vAlgorithm::SetNbIterationsAndSubsets | ( | const string & | a_nbIterationsSubsets | ) |
Definition at line 62 of file code/src/algorithm/vAlgorithm.cc.
int vAlgorithm::SetNbIterationsAndSubsets | ( | const string & | a_nbIterationsSubsets | ) |
|
inline |
Set the number of first iterations to be skipped.
a_skippedIterations |
Definition at line 233 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 112 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 112 of file code/include/algorithm/vAlgorithm.hh.
int vAlgorithm::SetOutputIterations | ( | const string & | a_outputIterations | ) |
Definition at line 121 of file code/src/algorithm/vAlgorithm.cc.
int vAlgorithm::SetOutputIterations | ( | const string & | a_outputIterations | ) |
|
inline |
Definition at line 196 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 196 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 203 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 203 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 217 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 217 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 210 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 210 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 133 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 133 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 105 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 105 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 91 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 91 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 98 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 98 of file include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 182 of file code/include/algorithm/vAlgorithm.hh.
|
inline |
Definition at line 182 of file include/algorithm/vAlgorithm.hh.
|
inlinevirtual |
Show help for the child algorithm.
Reimplemented in iRCPGSAlgorithm, and iRCPGSAlgorithm.
Definition at line 250 of file code/include/algorithm/vAlgorithm.hh.
|
inlinevirtual |
Reimplemented in iRCPGSAlgorithm, and iRCPGSAlgorithm.
Definition at line 257 of file include/algorithm/vAlgorithm.hh.
|
protectedvirtual |
This function is called at the end of the RunCPU function.
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
Definition at line 454 of file code/src/algorithm/vAlgorithm.cc.
|
protectedvirtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
|
protectedvirtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
Definition at line 443 of file code/src/algorithm/vAlgorithm.cc.
|
protectedvirtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
|
protectedvirtual |
This function is called at the beginning of the RunCPU function.
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
Definition at line 365 of file code/src/algorithm/vAlgorithm.cc.
|
protectedvirtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
|
protectedvirtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
Definition at line 410 of file code/src/algorithm/vAlgorithm.cc.
|
protectedvirtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
|
protectedpure virtual |
Implemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
Definition at line 475 of file code/src/algorithm/vAlgorithm.cc.
|
protectedpure virtual |
Implemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
|
protectedpure virtual |
Implemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
|
protectedpure virtual |
Implemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
|
protectedvirtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
Definition at line 432 of file code/src/algorithm/vAlgorithm.cc.
|
protectedvirtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
|
protectedvirtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
Definition at line 421 of file code/src/algorithm/vAlgorithm.cc.
|
protectedvirtual |
Reimplemented in iIterativeAlgorithm, iIterativeAlgorithm, iRCPGSAlgorithm, and iRCPGSAlgorithm.
|
protected |
Pointer to the array of vDataFile object
Definition at line 324 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Do we use GPU or not (default=false)
Definition at line 322 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
number of bed FOVs (1 datafile by bed) (default=-1)
Definition at line 332 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Number of iterations (default=1)
Definition at line 318 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Number of first iterations to be skipped (default=0)
Definition at line 326 of file include/algorithm/vAlgorithm.hh.
|
protected |
String of the path to the attenuation images
Definition at line 334 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
String containing the path to an initialization image
Definition at line 333 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
String vector containing paths to multimodal images
Definition at line 336 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
String containing the path to a sensitivity image
Definition at line 335 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Flag specifying that the dynamic basis coefficient images will be saved
Definition at line 339 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Flag specifying that the image has to be saved after each subset
Definition at line 338 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Flag specifying that the sensitivity image has to be saved for each subset/iteration in histogram mode
Definition at line 337 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Verbosity (default=-1)
Definition at line 321 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Pointer to the Deformation Manager object
Definition at line 327 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Pointer to the Dynamic Model Manager object
Definition at line 328 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Pointer to the oImageDimensionsAndQuantification object
Definition at line 323 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Pointer to the Image Convolver Manager object
Definition at line 330 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Pointer to the Image Processing Manager object
Definition at line 331 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Pointer to the Image Space object
Definition at line 329 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Number of subsets (default=1)
Definition at line 319 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Pointer to the Optimizer Manager object
Definition at line 326 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
A boolean for each iteration saying if we save it or not
Definition at line 320 of file code/include/algorithm/vAlgorithm.hh.
|
protected |
Pointer to the Projector Manager object
Definition at line 325 of file code/include/algorithm/vAlgorithm.hh.