31 #define VALGORITHM_HH 1 142 {
mp_ID = ap_ImageDimensionsAndQuantification;}
void SetImageConvolverManager(oImageConvolverManager *ap_ImageConvolverManager)
Set the Image Convolver Manager Object.
oImageConvolverManager * mp_ImageConvolverManager
This class is designed to be a mother virtual class for DataFile.
This header file is mainly used to declare some macro definitions and all includes needed from the st...
Declaration of class oDynamicModelManager.
oOptimizerManager * mp_OptimizerManager
Declaration of class oImageDimensionsAndQuantification.
virtual void ShowHelpSpecific()
Show help for the child algorithm.
virtual int InitSpecificOptions(string a_specificOptions)
oImageProcessingManager * mp_ImageProcessingManager
void SetPathToAttenuationImage(string a_pathToAttenuationImage)
This function is used to set the path to the attenuation image.
int SetNbIterationsAndSubsets(const string &a_nbIterationsSubsets)
Set the number of iterations and subsets.
void SetImageSpace(oImageSpace *ap_ImageSpace)
Set the Image Space Object.
void SetSaveSensitivityHistoFlag(bool a_saveSensitivityHistoFlag)
Set the flag that specifies if the sensitivity image in histogram mode has to be saved for each subse...
void SetOptimizerManager(oOptimizerManager *ap_OptimizerManager)
Set the Optimizer Manager Object.
void SetSaveDynamicBasisCoefficientImages(bool a_saveDynamicBasisCoefficients)
Set the flag that specifies if the dynamic basis functions coefficients images have to be saved...
int RunCPU()
Perform the iterative loop of the algorithm. Function designed to be executed on the CPU only...
oProjectorManager * mp_ProjectorManager
This class is designed to manage the optimization part of an iterative reconstruction.
virtual int StepBeforeSubsetLoop(int a_iteration)
This function is called before starting the data subset loop.
int Run()
Just call either the RunCPU or the RunGPU function as asked for.
bool m_saveSensitivityHistoFlag
virtual int StepInnerLoopInsideSubsetLoop(int a_iteration, int a_subset, int a_bed)=0
This function is called inside the subset loop. It contains the core operations of the algorithm an...
void SetPathToMaskImage(string a_pathToMaskImage)
Set path to a mask image.
virtual int StepImageOutput(int a_iteration, int a_subset=-1)=0
This function deals with everything about saving output images from the reconstruction.
oImageSpace * mp_ImageSpace
void SetDynamicModelManager(oDynamicModelManager *ap_DynamicModelManager)
Set the Dynamic Model Manager Object.
virtual int StepPostProcessInsideSubsetLoop(int a_iteration, int a_subset)
Declaration of class oImageConvolverManager.
vAlgorithm()
vAlgorithm constructor. Initialize the member variables to their default values.
vDataFile ** m2p_DataFile
void SetPathToMultiModalImage(vector< string > a_pathToMultiModalImage)
Set path to multimodal images.
void SetPathInitImage(string a_pathToInitialImage)
Set path to an initial image.
bool m_saveDynamicBasisCoefficients
string m_pathToSensitivityImg
void SetGPUflag(bool a_flagGPU)
Set the GPU flag.
string m_pathToInitialImg
This class is designed to manage the use of dynamic model in the reconstruction.
Declaration of class vDataFile.
void SetNbBeds(int a_nbBeds)
Set number of beds (bed positions)
oDynamicModelManager * mp_DynamicModelManager
virtual int StepPreProcessInsideSubsetLoop(int a_iteration, int a_subset)
This function is called right after starting the data subset loop.
virtual int StepBeforeIterationLoop()
This function is called at the beginning of the RunCPU function.
bool m_saveImageAfterSubsets
virtual ~vAlgorithm()
vAlgorithm destructor.
This class is designed to manage the different image convolvers and to apply them.
void SetSaveSubsetImageFlag(bool a_saveImageAfterSubsets)
Set the flag that specifies if the image has to be saved for each subset.
void SetDataFile(vDataFile **a2p_DataFile)
Set the list of DataFile.
void SetImageProcessingManager(oImageProcessingManager *ap_ImageProcessingManager)
Set the Image Processing Manager Object.
oDeformationManager * mp_DeformationManager
void SetPathToSensitivityImage(string a_pathToSensitivityImage)
Set path to the sensitivity image.
virtual int StepAfterSubsetLoop(int a_iteration)
This function is called after finishing the data subset loop.
oImageDimensionsAndQuantification * mp_ID
Declaration of class oImageSpace.
This class is designed to manage the different image processing modules and to apply them...
vector< string > m_pathToMultiModalImg
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.
Declaration of class oImageProcessingManager.
void SetProjectorManager(oProjectorManager *ap_ProjectorManager)
Set the Projector Manager Object.
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...
void SetVerbose(int a_verboseLevel)
Set Verbosity.
int SetOutputIterations(const string &a_outputIterations)
Set the selected output iterations.
This class is designed to manage all dimensions and quantification related stuff. ...
Declaration of class sChronoManager.
Declaration of class oOptimizerManager.
bool * mp_outputIterations
void SetDeformationManager(oDeformationManager *ap_DeformationManager)
Set the Deformation Manager Object.
Declaration of class oProjectorManager.
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
Set the Image Dimensions and Quantification Object.