31 #ifndef OOPTIMIZERMANAGER_HH
32 #define OOPTIMIZERMANAGER_HH 1
102 int PreDataUpdateStep(
int a_iteration,
int a_nbIterations,
int a_subset,
int* ap_nbSubsets);
112 int PostDataUpdateStep(
int a_iteration,
int a_nbIterations,
int a_subset,
int* ap_nbSubsets);
131 int a_bed,
int a_timeFrame,
int a_respGate,
int a_cardGate,
132 int a_iteration,
int a_thread );
oImageDimensionsAndQuantification * mp_ImageDimensionsAndQuantification
This header file is mainly used to declare some macro definitions and all includes needed from the st...
FLTNB GetInitialValue()
Return the initial image value used by the optimizer, explaining why the eponym function of vOptimize...
void SetOptimizerImageStatFlag(bool a_optimizerImageStatFlag)
Set the optimizer image stat flag that specifies if some basic statistics about image update is compu...
void SetVerbose(int a_verboseLevel)
Set the verbose level.
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
Set the image dimensions in use.
This class is designed to manage the optimization part of an iterative reconstruction.
void SetDataSpec(int a_dataSpec)
Set the specificity of the data: EMISSION or TRANSMISSION.
oImageSpace * mp_ImageSpace
int Initialize()
A function used to initialize the manager and the optimizer it manages.
int PostDataUpdateStep(int a_iteration, int a_nbIterations, int a_subset, int *ap_nbSubsets)
A function that simply calls the eponym function from the vOptimizer.
void SetImageSpace(oImageSpace *ap_ImageSpace)
Set the image space in use.
bool m_optimizerImageStatFlag
void SetDataMode(int a_dataMode)
Set the mode of the data (histogram, list-mode)
int ParseOptionsAndInitializeOptimizerAndPenalty()
void SetDataType(int a_dataType)
Set the type of the data (pet, spect, etc)
int GetNbBackwardImages()
Return the number of backward images used by the optimizer, explaining why the eponym function of vOp...
void SetOptionsOptimizer(const string &a_optionsOptimizer)
Set the optimizer projection options contained in the provided string.
Declaration of class vDataFile.
vOptimizer * mp_Optimizer
Declaration of class vOptimizer.
void SetOptionsPenalty(const string &a_optionsPenalty)
Set the penalty projection options contained in the provided string.
Declaration of class vPenalty.
This class is designed to generically described any penalty applied to MAP algorithms.
FLTNB GetInitialValue()
Get the initial image value (for initialization)
int CheckParameters()
A function used to check the parameters settings.
int ImageUpdateStep(int a_iteration, int a_nbSubsets)
A function dedicated to the update step in the image space (performed after the loop on events) ...
int DataUpdateStep(oProjectionLine *ap_Line, vEvent *ap_Event, int a_bed, int a_timeFrame, int a_respGate, int a_cardGate, int a_iteration, int a_thread)
A function dedicated to the update step in the data space (for each event inside the loop) ...
void SetNbTOFBins(int a_nbTOFBins)
Set the number of TOF bins in use.
This class is designed to generically described any iterative optimizer.
This class is designed to manage and store system matrix elements associated to a vEvent...
~oOptimizerManager()
The destructor of oOptimizerManager.
Declaration of class oImageSpace.
This class holds all the matrices in the image domain that can be used in the algorithm: image...
Mother class for the Event objects.
This class is designed to manage all dimensions and quantification related stuff. ...
int PreDataUpdateStep(int a_iteration, int a_nbIterations, int a_subset, int *ap_nbSubsets)
A function that simply calls the eponym function from the vOptimizer.
oOptimizerManager()
The constructor of oOptimizerManager.
int GetNbBackwardImages()
Get the number of backward images used by the specific optimizer.
string m_optionsOptimizer
void SetOptimizerFOMFlag(bool a_optimizerFOMFlag)
Set the optimizer FOM flag that specifies if some figures-of-merit (FOM) will be computed in the data...