![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00008 #ifndef IOPTIMIZERTEMPLATE_HH 00009 #define IOPTIMIZERTEMPLATE_HH 1 00010 00011 #include "gVariables.hh" 00012 #include "sAddonManager.hh" 00013 #include "vOptimizer.hh" 00014 00015 00022 class iOptimizerTemplate : public vOptimizer 00023 { 00024 // ----------------------------------------------------------------------------------------- 00025 // Constructor & Destructor 00026 public: 00033 iOptimizerTemplate(); 00040 ~iOptimizerTemplate(); 00041 00042 00043 // ----------------------------------------------------------------------------------------- 00044 // Public member functions 00045 public: 00046 // Function for automatic insertion (put the class name as the parameter and do not add semi-column at the end of the line) 00047 FUNCTION_OPTIMIZER(iOptimizerTemplate) 00058 int ReadConfigurationFile(const string& a_configurationFile); 00069 int ReadOptionsList(const string& a_optionsList); 00070 00071 00072 // ----------------------------------------------------------------------------------------- 00073 // Private member functions (pure virtual in vOptimizer) 00074 private: 00084 void ShowHelpSpecific(); 00094 int CheckSpecificParameters(); 00101 int InitializeSpecific(); 00116 int SensitivitySpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_weight, 00117 FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, 00118 FLTNB a_quantificationFactor, oProjectionLine* ap_Line ); 00134 int DataSpaceSpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_backwardValues, 00135 FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections, 00136 FLTNB a_quantificationFactor, oProjectionLine* ap_Line ); 00148 int ImageSpaceSpecificOperations( FLTNB a_currentImageValue, FLTNB* ap_newImageValue, 00149 FLTNB a_sensitivity, FLTNB* ap_correctionValues ); 00150 00151 00152 // ----------------------------------------------------------------------------------------- 00153 // Data members 00154 private: 00155 00156 }; 00157 00158 00159 // Class for automatic insertion (set here the visible optimizer's name as the first parameter, 00160 // put the class name as the second parameter and do NOT add semi-colon at the end of the line) 00161 CLASS_OPTIMIZER(template,iOptimizerTemplate) 00162 00163 #endif 00164