8 #ifndef OOPTIMIZERMANAGER_HH 9 #define OOPTIMIZERMANAGER_HH 1 11 #include "gVariables.hh" 14 #include "oImageSpace.hh" 15 #include "vDataFile.hh" 16 #include "oImageConvolverManager.hh" 101 int a_bed,
int a_timeFrame,
int a_respGate,
int a_cardGate,
void SetDataMode(int a_dataMode)
void SetOptionsPenalty(const string &a_optionsPenalty, FLTNB a_penaltyStrength)
This class is designed to be a mother virtual class for DataFile.
void SetDataSpec(int a_dataSpec)
bool GetNeedGlobalSensitivity()
Get the boolean saying if the sensitivity has to be computed globally for all data channels and not p...
void ExitPostIteration()
Set post-process flag to false.
bool NeedPreIteration()
Say if the optimizer needs a pre-process loop before iterations are done.
void SetCurrentSubset(int a_currentSubset)
void SetVerbose(int a_verboseLevel)
void EnterPostIteration()
Set post-process flag to true.
void ExitPreIteration()
Set pre-process flag to false.
int PreImageUpdateStep()
A function that simply calls the eponym function from the vOptimizer.
vOptimizer * GetOptimizer()
This class is designed to manage the optimization part of an iterative reconstruction.
void SetImageConvolverManager(oImageConvolverManager *ap_ImageConvolverManager)
Set the Image Convolver Manager Object.
void SetImageConvolverManager(oImageConvolverManager *ap_ImageConvolverManager)
Set the Image Convolver Manager Object.
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
void SetDataType(int a_dataType)
int Initialize()
A function used to initialize the manager and the optimizer it manages.
int DataUpdateStep(oProjectionLine *ap_Line, vEvent *ap_Event, int a_bed, int a_timeFrame, int a_respGate, int a_cardGate, int a_thread)
void SetOptionsOptimizer(const string &a_optionsOptimizer)
void SetOptimizerFOMFlag(bool a_optimizerFOMFlag)
bool m_optimizerImageStatFlag
int ParseOptionsAndInitializeOptimizerAndPenalty()
int PreDataUpdateStep()
A function that simply calls the eponym function from the vOptimizer.
void SetOutputIterations(bool *ap_outputIterations)
Set the selected output iterations.
int GetNbSubIterationsInOneIteration()
Get the number of sub iterations in one iteration.
bool GetNeedGlobalSensitivity()
int GetNbBackwardImages()
Declaration of class vOptimizer.
This class is designed to manage the different image convolvers and to apply them.
This class is designed to generically described any penalty applied to MAP algorithms.
bool NeedPostIteration()
Say if the optimizer needs a post-process loop after iterations are done.
void SetCurrentIteration(int a_currentIteration)
void SetNbTOFBins(int a_nbTOFBins)
int GetNbSubIterationsInOneIteration()
Get the number of sub iterations in one iteration.
FLTNB GetInitialValue()
Get the initial image value (for initialization)
void SetNumbersOfIterationsAndSubsets(int a_nbIterations, int *ap_nbSubsets)
int CheckParameters()
A function used to check the parameters settings.
oImageConvolverManager * mp_ImageConvolverManager
oImageSpace * mp_ImageSpace
This class is designed to generically described any iterative optimizer.
void EnterPreIteration()
Set pre-process flag to true.
This class is designed to manage and store system matrix elements associated to a vEvent...
~oOptimizerManager()
The destructor of oOptimizerManager.
Declaration of class vPenalty.
This class holds all the matrices in the image domain that can be used in the algorithm: image...
void SetNumbersOfIterationsAndSubsets(int a_nbIterations, int *ap_nbSubsets)
Mother class for the Event objects.
void EnterPostIteration()
Set post-process flag of the vOptimizer to true.
void EnterPreIteration()
Set pre-process flag of the vOptimizer to true.
void SetCurrentIteration(int a_currentIteration)
void SetCurrentSubset(int a_currentSubset)
void ExitPostIteration()
Set post-process flag of the vOptimizer to false.
int ImageUpdateStep()
A function dedicated to the update step in the image space (performed after the loop on events) ...
This class is designed to manage all dimensions and quantification related stuff. ...
oOptimizerManager()
The constructor of oOptimizerManager.
int GetNbBackwardImages()
Get the number of backward images used by the specific optimizer.
void SetImageSpace(oImageSpace *ap_ImageSpace)
bool NeedPostIteration()
Say if the optimizer needs a post-process loop after iterations are done.
void ExitPreIteration()
Set pre-process flag of the vOptimizer to false.
string m_optionsOptimizer
void SetDataFile(vDataFile *ap_DataFile)
Set the data file in use.
bool NeedPreIteration()
Say if the optimizer needs a pre-process loop before iterations are done.
void SetOutputIterations(bool *ap_outputIterations)
Set the selected output iterations to the vOptimizer.
oImageDimensionsAndQuantification * mp_ImageDimensionsAndQuantification
vOptimizer * mp_Optimizer
void SetOptimizerImageStatFlag(bool a_optimizerImageStatFlag)