![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00009 #ifndef OSYSTEMMATRIX_HH 00010 #define OSYSTEMMATRIX_HH 1 00011 00012 #include "gVariables.hh" 00013 #include "oProjectionLine.hh" 00014 #include "vScanner.hh" 00015 00024 #define SYSTEM_MATRIX_KEYWORD "matrix" 00025 00036 class oSystemMatrix 00037 { 00038 // ------------------------------------------------------------------- 00039 // Constructor & Destructor 00040 public: 00047 oSystemMatrix(); 00055 ~oSystemMatrix(); 00056 00057 // ------------------------------------------------------------------- 00058 // Public member functions 00059 public: 00073 int Project(int a_direction, oProjectionLine* ap_ProjectionLine, uint32_t* ap_index1, uint32_t* ap_index2, int a_nbIndices); 00074 00075 00076 // ------------------------------------------------------------------- 00077 // Private member functions 00078 private: 00079 00080 00081 // ------------------------------------------------------------------- 00082 // Public Get & Set functions 00083 public: 00088 inline bool GetCompatibilityWithSPECTAttenuationCorrection() 00089 {return m_compatibleWithSPECTAttenuationCorrection;} 00090 00091 00092 // ------------------------------------------------------------------- 00093 // Data members 00094 private: 00095 map<pair<int,int>,INTNB> mp_nbVoxels; 00096 map<pair<int,int>,INTNB*> m2p_voxelIndicesMap; 00097 map<pair<int,int>,FLTNB*> m2p_voxelWeightsMap; 00098 vScanner* mp_Scanner; 00099 bool m_compatibleWithSPECTAttenuationCorrection; 00100 }; 00101 00102 #endif