CASToR  1.0
Tomographic Reconstruction (PET/SPECT)
iOptimizerNEGML.hh
Go to the documentation of this file.
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 
 All Classes Files Functions Variables Typedefs Defines