![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00008 #ifndef IPROJECTORINCREMENTALSIDDONMULTI_HH 00009 #define IPROJECTORINCREMENTALSIDDONMULTI_HH 1 00010 00011 #include "gVariables.hh" 00012 #include "sAddonManager.hh" 00013 #include "vProjector.hh" 00014 00015 00023 class iProjectorIncrementalSiddonMulti : public vProjector 00024 { 00025 // ------------------------------------------------------------------- 00026 // Constructor & Destructor 00027 public: 00034 iProjectorIncrementalSiddonMulti(); 00041 ~iProjectorIncrementalSiddonMulti(); 00042 00043 // ------------------------------------------------------------------- 00044 // Public member functions 00045 public: 00046 // Function for automatic insertion (put the class name as the parameter and do not add semi-column at the end of the line) 00047 FUNCTION_PROJECTOR(iProjectorIncrementalSiddonMulti) 00058 int ReadConfigurationFile(const string& a_configurationFile); 00069 int ReadOptionsList(const string& a_optionsList); 00078 INTNB EstimateMaxNumberOfVoxelsPerLine(); 00079 // ------------------------------------------------------------------- 00080 // Private member functions 00081 private: 00090 void ShowHelpSpecific(); 00100 int CheckSpecificParameters(); 00107 int InitializeSpecific(); 00117 int ProjectWithoutTOF( int a_direction, oProjectionLine* ap_ProjectionLine ); 00128 int ProjectWithTOFPos( int a_direction, oProjectionLine* ap_ProjectionLine ); 00139 int ProjectWithTOFBin( int a_direction, oProjectionLine* ap_ProjectionLine ); 00140 00141 // ------------------------------------------------------------------- 00142 // Data members 00143 private: 00144 int m_nbLines; 00145 }; 00146 00147 00148 // Class for automatic insertion (set here the visible projector's name as the first parameter, 00149 // put the class name as the second parameter and do NOT add semi-colon at the end of the line) 00150 CLASS_PROJECTOR(multiSiddon,iProjectorIncrementalSiddonMulti) 00151 00152 #endif 00153