![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00008 #ifndef IOPTIMIZERNEGML_HH 00009 #define IOPTIMIZERNEGML_HH 1 00010 00011 #include "gVariables.hh" 00012 #include "sAddonManager.hh" 00013 #include "vOptimizer.hh" 00014 00015 00025 class iOptimizerNEGML : public vOptimizer 00026 { 00027 // ------------------------------------------------------------------- 00028 // Constructor & Destructor 00029 public: 00036 iOptimizerNEGML(); 00043 ~iOptimizerNEGML(); 00044 00045 00046 // ------------------------------------------------------------------- 00047 // Public member functions 00048 public: 00049 // Function for automatic insertion (put the class name as the parameter and do not add semi-column at the end of the line) 00050 FUNCTION_OPTIMIZER(iOptimizerNEGML) 00061 int ReadConfigurationFile(const string& a_configurationFile); 00072 int ReadOptionsList(const string& a_optionsList); 00073 00074 00075 // ------------------------------------------------------------------- 00076 // Private member functions (pure virtual in vOptimizer) 00077 private: 00087 void ShowHelpSpecific(); 00097 int CheckSpecificParameters(); 00104 int InitializeSpecific(); 00119 int SensitivitySpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_weight, 00120 FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, 00121 FLTNB a_quantificationFactor, oProjectionLine* ap_Line ); 00137 int DataSpaceSpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_backwardValues, 00138 FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, 00139 FLTNB a_quantificationFactor, oProjectionLine* ap_Line ); 00151 int ImageSpaceSpecificOperations( FLTNB a_currentImageValue, FLTNB* ap_newImageValue, 00152 FLTNB a_sensitivity, FLTNB* ap_correctionValues ); 00153 00154 00155 // ----------------------------------------------------------------------------------------- 00156 // Data members 00157 private: 00158 FLTNB m_psi; 00160 }; 00161 00162 00163 // Class for automatic insertion (set here the visible optimizer's name as the first parameter, 00164 // put the class name as the second parameter and do NOT add semi-colon at the end of the line) 00165 CLASS_OPTIMIZER(NEGML,iOptimizerNEGML) 00166 00167 #endif 00168