CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00010 #ifndef OIMAGEPROCESSINGMANAGER_HH 00011 #define OIMAGEPROCESSINGMANAGER_HH 1 00012 00013 #include "gVariables.hh" 00014 #include "oImageSpace.hh" 00015 #include "vImageProcessingModule.hh" 00016 00017 00032 class oImageProcessingManager 00033 { 00034 // ----------------------------------------------------------------------------------------- 00035 // Constructor & Destructor 00036 public: 00043 oImageProcessingManager(); 00050 ~oImageProcessingManager(); 00051 00052 // ----------------------------------------------------------------------------------------- 00053 // Public member functions for initialization 00054 public: 00062 int CheckParameters(); 00072 int Initialize(); 00079 static void ShowCommonHelp(); 00080 00081 00082 // ----------------------------------------------------------------------------------------- 00083 // Public member functions for actions 00084 public: 00095 int ApplyProcessingForward(oImageSpace* ap_ImageSpace); 00107 int ApplyProcessingIntra(oImageSpace* ap_ImageSpace); 00120 int ApplyProcessingPost(oImageSpace* ap_ImageSpace); 00121 00122 00123 // ----------------------------------------------------------------------------------------- 00124 // Public Get & Set functions 00125 public: 00131 inline void SetVerbose(int a_verboseLevel) 00132 {m_verbose = a_verboseLevel;} 00138 inline void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification* ap_ImageDimensionsAndQuantification) 00139 {mp_ImageDimensionsAndQuantification = ap_ImageDimensionsAndQuantification;} 00145 inline void SetOptions(vector<string> a_options) 00146 {m_options = a_options;} 00147 00148 00149 // ----------------------------------------------------------------------------------------- 00150 // Private member functions 00151 private: 00164 int ParseOptionsAndInitializeImageProcessingModules(); 00165 00166 00167 // ----------------------------------------------------------------------------------------- 00168 // Data members 00169 private: 00170 oImageDimensionsAndQuantification* 00171 mp_ImageDimensionsAndQuantification; 00172 vector<string> m_options; 00173 int m_nbImageProcessingModules; 00174 vImageProcessingModule** 00175 m2p_ImageProcessingModules; 00176 bool* mp_applyForward; 00177 bool* mp_applyIntra; 00178 bool* mp_applyPost; 00179 bool m_checked; 00180 bool m_initialized; 00181 int m_verbose; 00182 }; 00183 00184 #endif