CASToR  1.1
Tomographic Reconstruction (PET/SPECT)
 All Classes Files Functions Variables Typedefs Macros Groups Pages
iOptimizerNEGML.hh
Go to the documentation of this file.
1 
8 #ifndef IOPTIMIZERNEGML_HH
9 #define IOPTIMIZERNEGML_HH 1
10 
11 #include "gVariables.hh"
12 #include "sAddonManager.hh"
13 #include "vOptimizer.hh"
14 
15 
26 {
27  // -------------------------------------------------------------------
28  // Constructor & Destructor
29  public:
44 
45 
46  // -------------------------------------------------------------------
47  // Public member functions
48  public:
49  // Function for automatic insertion (put the class name as the parameter and do not add semi-column at the end of the line)
61  int ReadConfigurationFile(const string& a_configurationFile);
72  int ReadOptionsList(const string& a_optionsList);
73 
74 
75  // -------------------------------------------------------------------
76  // Private member functions (pure virtual in vOptimizer)
77  private:
87  void ShowHelpSpecific();
104  int InitializeSpecific();
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 );
137  int DataSpaceSpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_backwardValues,
138  FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections,
139  FLTNB a_quantificationFactor, oProjectionLine* ap_Line );
151  int ImageSpaceSpecificOperations( FLTNB a_currentImageValue, FLTNB* ap_newImageValue,
152  FLTNB a_sensitivity, FLTNB* ap_correctionValues );
153 
154 
155  // -----------------------------------------------------------------------------------------
156  // Data members
157  private:
160 };
161 
162 
163 // Class for automatic insertion (set here the visible optimizer's name as the first parameter,
164 // put the class name as the second parameter and do NOT add semi-colon at the end of the line)
166 
167 #endif
168 
This header file is mainly used to declare some macro definitions and all includes needed from the st...
#define FLTNB
Definition: gVariables.hh:55
int ImageSpaceSpecificOperations(FLTNB a_currentImageValue, FLTNB *ap_newImageValue, FLTNB a_sensitivity, FLTNB *ap_correctionValues)
This function perform the image update step specific to the optimizer.
int DataSpaceSpecificOperations(FLTNB a_data, FLTNB a_forwardModel, FLTNB *ap_backwardValues, FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, FLTNB a_quantificationFactor, oProjectionLine *ap_Line)
This function performs the data space operations specific to the optimizer (computes the values to be...
Declaration of class vOptimizer.
int ReadConfigurationFile(const string &a_configurationFile)
A function used to read options from a configuration file.
#define FUNCTION_OPTIMIZER(CLASS)
Definition: vOptimizer.hh:619
#define CLASS_OPTIMIZER(NAME, CLASS)
Definition: vOptimizer.hh:623
This class is designed to generically described any iterative optimizer.
Definition: vOptimizer.hh:36
This class is designed to manage and store system matrix elements associated to a vEvent...
void ShowHelpSpecific()
A function used to show help about the child optimizer.
iOptimizerNEGML()
The constructor of iOptimizerNEGML.
~iOptimizerNEGML()
The destructor of iOptimizerNEGML.
int ReadOptionsList(const string &a_optionsList)
A function used to read options from a list of options.
int SensitivitySpecificOperations(FLTNB a_data, FLTNB a_forwardModel, FLTNB *ap_weight, FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, FLTNB a_quantificationFactor, oProjectionLine *ap_Line)
This function compute the weight associated to the provided event (for sensitivity computation) ...
int InitializeSpecific()
This function is used to initialize specific stuff to the child optimizer.
int CheckSpecificParameters()
A private function used to check the parameters settings specific to the child optimizer.
Declaration of class sAddonManager.
This class implements the NEGML algorithm.