9 #define VALGORITHM_HH 1 11 #include "gVariables.hh" 12 #include "oImageDimensionsAndQuantification.hh" 13 #include "oProjectorManager.hh" 14 #include "oImageConvolverManager.hh" 15 #include "oImageProcessingManager.hh" 16 #include "oOptimizerManager.hh" 17 #include "oDeformationManager.hh" 18 #include "oDynamicModelManager.hh" 19 #include "oImageSpace.hh" 20 #include "vDataFile.hh" 21 #include "sChronoManager.hh" 120 {
mp_ID = ap_ImageDimensionsAndQuantification;}
This class is designed to be a mother virtual class for DataFile.
void SetGPUflag(bool a_flagGPU)
virtual int InitSpecificOptions(string a_specificOptions)
void SetDynamicModelManager(oDynamicModelManager *ap_DynamicModelManager)
void SetSaveSubsetImageFlag(bool a_saveImageAfterSubsets)
int SetNbIterationsAndSubsets(const string &a_nbIterationsSubsets)
oImageDimensionsAndQuantification * mp_ID
vector< string > m_pathToMultiModalImg
void SetPathInitImage(string a_pathToInitialImage)
oImageSpace * mp_ImageSpace
int RunCPU()
Perform the iterative loop of the algorithm. Function designed to be executed on the CPU only...
void SetOptimizerManager(oOptimizerManager *ap_OptimizerManager)
This class is designed to manage the optimization part of an iterative reconstruction.
virtual int StepBeforeSubsetLoop(int a_iteration)
int Run()
Just call either the RunCPU or the RunGPU function as asked for.
bool m_saveSensitivityHistoFlag
oOptimizerManager * mp_OptimizerManager
virtual int StepImageOutput(int a_iteration, int a_subset=-1)=0
virtual int StepInnerLoopInsideSubsetLoop(int a_iteration, int a_subset, int a_bed)=0
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
oImageProcessingManager * mp_ImageProcessingManager
void SetPathToAttenuationImage(string a_pathToAttenuationImage)
virtual int StepPostProcessInsideSubsetLoop(int a_iteration, int a_subset)
vAlgorithm()
vAlgorithm constructor. Initialize the member variables to their default values.
void SetNbBeds(int a_nbBeds)
bool m_saveDynamicBasisCoefficients
string m_pathToSensitivityImg
void SetImageConvolverManager(oImageConvolverManager *ap_ImageConvolverManager)
string m_pathToInitialImg
void SetProjectorManager(oProjectorManager *ap_ProjectorManager)
This class is designed to manage the use of dynamic model in the reconstruction.
virtual int StepPreProcessInsideSubsetLoop(int a_iteration, int a_subset)
virtual int StepBeforeIterationLoop()
This function is called at the beginning of the RunCPU function.
void SetSaveDynamicBasisCoefficientImages(bool a_saveDynamicBasisCoefficients)
bool m_saveImageAfterSubsets
virtual ~vAlgorithm()
vAlgorithm destructor.
void SetImageProcessingManager(oImageProcessingManager *ap_ImageProcessingManager)
This class is designed to manage the different image convolvers and to apply them.
oImageConvolverManager * mp_ImageConvolverManager
virtual void ShowHelpSpecific()
void SetSaveSensitivityHistoFlag(bool a_saveSensitivityHistoFlag)
oProjectorManager * mp_ProjectorManager
virtual int StepAfterSubsetLoop(int a_iteration)
oDeformationManager * mp_DeformationManager
This class is designed to manage the different image processing modules and to apply them...
void SetPathToMultiModalImage(vector< string > a_pathToMultiModalImage)
This class is designed to manage the projection part of the reconstruction.
virtual int StepAfterIterationLoop()
This function is called at the end of the RunCPU function.
This is the base class for reconstructions, containing a framework with iteration and data subset loo...
This class holds all the matrices in the image domain that can be used in the algorithm: image...
int SetOutputIterations(const string &a_outputIterations)
This class is designed to manage all dimensions and quantification related stuff. ...
void SetDataFile(vDataFile **a2p_DataFile)
void SetImageSpace(oImageSpace *ap_ImageSpace)
bool * mp_outputIterations
vDataFile ** m2p_DataFile
void SetNbSkippedIterations(const string &a_skippedIterations)
Set the number of first iterations to be skipped.
int m_nbSkippedIterations
void SetDeformationManager(oDeformationManager *ap_DeformationManager)
void SetVerbose(int a_verboseLevel)
oDynamicModelManager * mp_DynamicModelManager
void SetPathToSensitivityImage(string a_pathToSensitivityImage)