![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00008 #ifndef OIMAGECONVOLVERMANAGER_HH 00009 #define OIMAGECONVOLVERMANAGER_HH 1 00010 00011 #include "gVariables.hh" 00012 #include "oImageSpace.hh" 00013 #include "vImageConvolver.hh" 00014 00015 00032 class oImageConvolverManager 00033 { 00034 // ----------------------------------------------------------------------------------------- 00035 // Constructor & Destructor 00036 public: 00043 oImageConvolverManager(); 00050 ~oImageConvolverManager(); 00051 00052 00053 // ----------------------------------------------------------------------------------------- 00054 // Public member functions for initialization 00055 public: 00063 int CheckParameters(); 00073 int Initialize(); 00080 static void ShowCommonHelp(); 00081 00082 00083 // ----------------------------------------------------------------------------------------- 00084 // Public member functions for actions 00085 public: 00098 int ConvolveForward(oImageSpace* ap_ImageSpace); 00114 int ConvolveBackward(oImageSpace* ap_ImageSpace); 00127 int ConvolveSensitivity(oImageSpace* ap_ImageSpace); 00141 int ConvolveIntra(oImageSpace* ap_ImageSpace); 00155 int ConvolvePost(oImageSpace* ap_ImageSpace); 00156 00157 00158 // ----------------------------------------------------------------------------------------- 00159 // Public Get & Set functions 00160 public: 00166 inline void SetVerbose(int a_verboseLevel) 00167 {m_verbose = a_verboseLevel;} 00173 inline void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification* ap_ImageDimensionsAndQuantification) 00174 {mp_ImageDimensionsAndQuantification = ap_ImageDimensionsAndQuantification;} 00180 inline void SetOptions(vector<string> a_options) 00181 {m_options = a_options;} 00182 00183 00184 // ----------------------------------------------------------------------------------------- 00185 // Private member functions 00186 private: 00199 int ParseOptionsAndInitializeImageConvolvers(); 00200 00201 00202 // ----------------------------------------------------------------------------------------- 00203 // Data members 00204 private: 00205 oImageDimensionsAndQuantification* 00206 mp_ImageDimensionsAndQuantification; 00207 vector<string> m_options; 00208 int m_nbImageConvolvers; 00209 vImageConvolver** m2p_ImageConvolvers; 00210 bool* mp_applyForward; 00211 bool* mp_applyBackward; 00212 bool* mp_applyIntra; 00213 bool* mp_applyPost; 00214 bool m_checked; 00215 bool m_initialized; 00216 int m_verbose; 00217 }; 00218 00219 #endif