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