CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
include/optimizer/iOptimizerMLEM.hh
Go to the documentation of this file.
1 
8 #ifndef IOPTIMIZERMLEM_HH
9 #define IOPTIMIZERMLEM_HH 1
10 
11 #include "gVariables.hh"
12 #include "sAddonManager.hh"
13 #include "vOptimizer.hh"
14 
21 class iOptimizerMLEM : public vOptimizer
22 {
23  // -------------------------------------------------------------------
24  // Constructor & Destructor
25  public:
40 
41 
42  // -------------------------------------------------------------------
43  // Public member functions
44  public:
45  // Function for automatic insertion (put the class name as the parameter and do not add semi-column at the end of the line)
57  int ReadConfigurationFile(const string& a_configurationFile);
68  int ReadOptionsList(const string& a_optionsList);
69 
70  // -------------------------------------------------------------------
71  // Private member functions (pure virtual in vOptimizer)
72  private:
82  void ShowHelpSpecific();
99  int InitializeSpecific();
115  int SensitivitySpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_weight,
116  FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, FLTNB a_blankValue,
117  FLTNB a_quantificationFactor, oProjectionLine* ap_Line );
134  int DataSpaceSpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_backwardValues,
135  FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, FLTNB a_blankValue,
136  FLTNB a_quantificationFactor, oProjectionLine* ap_Line );
152  int ImageSpaceSpecificOperations( FLTNB a_currentImageValue, FLTNB* ap_newImageValue,
153  FLTNB a_sensitivity, FLTNB* ap_correctionValues,
154  INTNB a_voxel, int a_tbf = -1, int a_rbf = -1, int a_cbf = -1 );
155 
156 
157  // -------------------------------------------------------------------
158  // Data members
159  private:
163 };
164 
165 
166 // Class for automatic insertion (set here the visible optimizer's name as the first parameter,
167 // put the class name as the second parameter and do NOT add semi-colon at the end of the line)
169 
170 #endif
171 
int ImageSpaceSpecificOperations(FLTNB a_currentImageValue, FLTNB *ap_newImageValue, FLTNB a_sensitivity, FLTNB *ap_correctionValues, INTNB a_voxel, int a_tbf=-1, int a_rbf=-1, int a_cbf=-1)
int ReadOptionsList(const string &a_optionsList)
int DataSpaceSpecificOperations(FLTNB a_data, FLTNB a_forwardModel, FLTNB *ap_backwardValues, FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, FLTNB a_blankValue, FLTNB a_quantificationFactor, oProjectionLine *ap_Line)
This class implements the Maximum Likelihood Expectation Maximization algorithm.
int CheckSpecificParameters()
A private function used to check the parameters settings specific to the child optimizer.
int InitializeSpecific()
This function is used to initialize specific stuff to the child optimizer.
Declaration of class vOptimizer.
iOptimizerMLEM()
The constructor of iOptimizerMLEM.
#define FUNCTION_OPTIMIZER(CLASS)
#define CLASS_OPTIMIZER(NAME, CLASS)
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...
~iOptimizerMLEM()
The destructor of iOptimizerMLEM.
int ReadConfigurationFile(const string &a_configurationFile)
int SensitivitySpecificOperations(FLTNB a_data, FLTNB a_forwardModel, FLTNB *ap_weight, FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, FLTNB a_blankValue, FLTNB a_quantificationFactor, oProjectionLine *ap_Line)
void ShowHelpSpecific()
A function used to show help about the child optimizer.