![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00008 #ifndef IPROJECTORTEMPLATE_HH 00009 #define IPROJECTORTEMPLATE_HH 1 00010 00011 #include "gVariables.hh" 00012 #include "sAddonManager.hh" 00013 #include "vProjector.hh" 00014 00020 class iProjectorTemplate : public vProjector 00021 { 00022 // ------------------------------------------------------------------- 00023 // Constructor & Destructor 00024 public: 00031 iProjectorTemplate(); 00038 ~iProjectorTemplate(); 00039 00040 00041 // ------------------------------------------------------------------- 00042 // Public member functions 00043 public: 00044 // Function for automatic insertion (put the class name as the parameter and do not add semi-column at the end of the line) 00045 FUNCTION_PROJECTOR(iProjectorTemplate) 00056 int ReadConfigurationFile(const string& a_configurationFile); 00067 int ReadOptionsList(const string& a_optionsList); 00076 INTNB EstimateMaxNumberOfVoxelsPerLine(); 00077 00078 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 // ------------------------------------------------------------------- 00143 // Data members 00144 private: 00145 00146 }; 00147 00148 00149 // Class for automatic insertion (set here the visible projector's name as the first parameter, 00150 // put the class name as the second parameter and do NOT add semi-colon at the end of the line) 00151 CLASS_PROJECTOR(template,iProjectorTemplate) 00152 00153 #endif 00154