CASToR  1.0
Tomographic Reconstruction (PET/SPECT)
iOptimizerMLEM.hh
Go to the documentation of this file.
00001 
00008 #ifndef IOPTIMIZERMLEM_HH
00009 #define IOPTIMIZERMLEM_HH 1
00010 
00011 #include "gVariables.hh"
00012 #include "sAddonManager.hh"
00013 #include "vOptimizer.hh"
00014 
00015 
00022 class iOptimizerMLEM : public vOptimizer
00023 {
00024   // -------------------------------------------------------------------
00025   // Constructor & Destructor
00026   public:
00033     iOptimizerMLEM();
00040     ~iOptimizerMLEM();
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(iOptimizerMLEM)
00058     int ReadConfigurationFile(const string& a_configurationFile);
00069     int ReadOptionsList(const string& a_optionsList);
00070 
00071   // -------------------------------------------------------------------
00072   // Private member functions (pure virtual in vOptimizer)
00073   private:
00083     void ShowHelpSpecific();
00093     int CheckSpecificParameters();
00100     int InitializeSpecific();
00115     int SensitivitySpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_weight,
00116                                        FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections,
00117                                        FLTNB a_quantificationFactor, oProjectionLine* ap_Line );
00133     int DataSpaceSpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_backwardValues,
00134                                      FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections,
00135                                      FLTNB a_quantificationFactor, oProjectionLine* ap_Line );
00147     int ImageSpaceSpecificOperations( FLTNB a_currentImageValue, FLTNB* ap_newImageValue,
00148                                       FLTNB a_sensitivity, FLTNB* ap_correctionValues );
00149 
00150 
00151   // -------------------------------------------------------------------
00152   // Data members
00153   private:
00154     FLTNB m_dataSpaceDenominatorThreshold; 
00155     FLTNB m_minimumImageUpdateFactor;      
00156     FLTNB m_maximumImageUpdateFactor;      
00157 };
00158 
00159 
00160 // Class for automatic insertion (set here the visible optimizer's name as the first parameter,
00161 // put the class name as the second parameter and do NOT add semi-colon at the end of the line)
00162 CLASS_OPTIMIZER(MLEM,iOptimizerMLEM)
00163 
00164 #endif
00165 
 All Classes Files Functions Variables Typedefs Defines