CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
iOptimizerSens.hh
Go to the documentation of this file.
1 
8 #ifndef IOPTIMIZERSENS_HH
9 #define IOPTIMIZERSENS_HH 1
10 
11 #include "gVariables.hh"
12 #include "sAddonManager.hh"
13 #include "vOptimizer.hh"
14 
21 class iOptimizerSens : 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 );
118 
119  //int SensitivitySpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_weight,
120  // FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections,
121  // FLTNB a_quantificationFactor, oProjectionLine* ap_Line );
138  int DataSpaceSpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_backwardValues,
139  FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, FLTNB a_blankValue,
140  FLTNB a_quantificationFactor, oProjectionLine* ap_Line );
141 
142  //int DataSpaceSpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_backwardValues,
143  // FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections,
144  // FLTNB a_quantificationFactor, oProjectionLine* ap_Line );
156  int ImageSpaceSpecificOperations( FLTNB a_currentImageValue, FLTNB* ap_newImageValue,
157  FLTNB a_sensitivity, FLTNB* ap_correctionValues,
158  INTNB a_voxel, int a_tbf = -1, int a_rbf = -1, int a_cbf = -1 );
159 
160  //int ImageSpaceSpecificOperations( FLTNB a_currentImageValue, FLTNB* ap_newImageValue,
161  // FLTNB a_sensitivity, FLTNB* ap_correctionValues );
162 
163 
164  // -------------------------------------------------------------------
165  // Data members
166  private:
170 };
171 
172 
173 // Class for automatic insertion (set here the visible optimizer's name as the first parameter,
174 // put the class name as the second parameter and do NOT add semi-colon at the end of the line)
176 
177 #endif
178 
179 
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 function performs the data space operations specific to the optimizer (computes the values to be...
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 ReadConfigurationFile(const string &a_configurationFile)
A function used to read options from a configuration file.
int InitializeSpecific()
This function is used to initialize specific stuff to the child optimizer.
FLTNB m_dataSpaceDenominatorThreshold
~iOptimizerSens()
The destructor of iOptimizerSens.
FLTNB m_maximumImageUpdateFactor
iOptimizerSens()
The constructor of iOptimizerSens.
Declaration of class vOptimizer.
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)
This function perform the image update step specific to the optimizer.
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)
This function compute the weight associated to the provided event (for sensitivity computation) ...
#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...
FLTNB m_minimumImageUpdateFactor
void ShowHelpSpecific()
A function used to show help about the child optimizer.
int ReadOptionsList(const string &a_optionsList)
A function used to read options from a list of options.