![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00008 #ifndef IPROJECTORINCREMENTALSIDDON_HH 00009 #define IPROJECTORINCREMENTALSIDDON_HH 1 00010 00011 #include "gVariables.hh" 00012 #include "sAddonManager.hh" 00013 #include "vProjector.hh" 00014 00015 00024 class iProjectorIncrementalSiddon : public vProjector 00025 { 00026 // ------------------------------------------------------------------- 00027 // Constructor & Destructor 00028 public: 00035 iProjectorIncrementalSiddon(); 00042 ~iProjectorIncrementalSiddon(); 00043 00044 // ------------------------------------------------------------------- 00045 // Public member functions 00046 public: 00047 // Function for automatic insertion (put the class name as the parameter and do not add semi-column at the end of the line) 00048 FUNCTION_PROJECTOR(iProjectorIncrementalSiddon) 00059 int ReadConfigurationFile(const string& a_configurationFile); 00070 int ReadOptionsList(const string& a_optionsList); 00079 INTNB EstimateMaxNumberOfVoxelsPerLine(); 00080 00081 // ------------------------------------------------------------------- 00082 // Private member functions 00083 private: 00092 void ShowHelpSpecific(); 00102 int CheckSpecificParameters(); 00109 int InitializeSpecific(); 00119 int ProjectWithoutTOF( int a_direction, oProjectionLine* ap_ProjectionLine ); 00130 int ProjectWithTOFPos( int a_direction, oProjectionLine* ap_ProjectionLine ); 00141 int ProjectWithTOFBin( int a_direction, oProjectionLine* ap_ProjectionLine ); 00142 }; 00143 00144 00145 // Class for automatic insertion (set here the visible projector's name as the first parameter, 00146 // put the class name as the second parameter and do NOT add semi-colon at the end of the line) 00147 CLASS_PROJECTOR(incrementalSiddon,iProjectorIncrementalSiddon) 00148 00149 #endif 00150