CASToR  1.0
Tomographic Reconstruction (PET/SPECT)
iOptimizerLandweber.hh
Go to the documentation of this file.
00001 
00008 #ifndef IOPTIMIZERLANDWEBER_HH
00009 #define IOPTIMIZERLANDWEBER_HH 1
00010 
00011 #include "gVariables.hh"
00012 #include "sAddonManager.hh"
00013 #include "vOptimizer.hh"
00014 
00015 
00023 class iOptimizerLandweber : public vOptimizer
00024 {
00025   // -------------------------------------------------------------------
00026   // Constructor & Destructor
00027   public:
00034     iOptimizerLandweber();
00041     ~iOptimizerLandweber();
00042 
00043 
00044   // -------------------------------------------------------------------
00045   // Public member functions
00046   public:
00047     // Function for automatic insertion (put the class name as the parameter and do not add semi-column at the end of the line)
00048     FUNCTION_OPTIMIZER(iOptimizerLandweber)
00059     int ReadConfigurationFile(const string& a_configurationFile);
00070     int ReadOptionsList(const string& a_optionsList);
00071 
00072 
00073   // -------------------------------------------------------------------
00074   // Private member functions (pure virtual in vOptimizer)
00075   private:
00085     void ShowHelpSpecific();
00095     int CheckSpecificParameters();
00102     int InitializeSpecific();
00117     int SensitivitySpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_weight,
00118                                        FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections,
00119                                        FLTNB a_quantificationFactor, oProjectionLine* ap_Line );
00135     int DataSpaceSpecificOperations( FLTNB a_data, FLTNB a_forwardModel, FLTNB* ap_backwardValues,
00136                                      FLTNB a_multiplicativeCorrections, FLTNB a_additiveCorrections,
00137                                      FLTNB a_quantificationFactor, oProjectionLine* ap_Line );
00149     int ImageSpaceSpecificOperations( FLTNB a_currentImageValue, FLTNB* ap_newImageValue,
00150                                       FLTNB a_sensitivity, FLTNB* ap_correctionValues );
00151 
00152   // -------------------------------------------------------------------
00153   // Data members
00154   private:
00155     FLTNB m_relaxationFactor; 
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(LDWB,iOptimizerLandweber)
00162 
00163 #endif
00164 
 All Classes Files Functions Variables Typedefs Defines