![]() |
CASToR
1.0
Tomographic Reconstruction (PET/SPECT)
|
00001 00008 #ifndef IPROJECTORJOSEPH_HH 00009 #define IPROJECTORJOSEPH_HH 1 00010 00011 #include "gVariables.hh" 00012 #include "sAddonManager.hh" 00013 #include "vProjector.hh" 00014 00023 class iProjectorJoseph : public vProjector 00024 { 00025 // ------------------------------------------------------------------- 00026 // Constructor & Destructor 00027 public: 00034 iProjectorJoseph(); 00041 ~iProjectorJoseph(); 00042 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(iProjectorJoseph) 00059 int ReadConfigurationFile(const string& a_configurationFile); 00070 int ReadOptionsList(const string& a_optionsList); 00079 INTNB EstimateMaxNumberOfVoxelsPerLine(); 00080 00081 00082 // ------------------------------------------------------------------- 00083 // Private member functions 00084 private: 00093 void ShowHelpSpecific(); 00103 int CheckSpecificParameters(); 00110 int InitializeSpecific(); 00120 int ProjectWithoutTOF( int a_direction, oProjectionLine* ap_ProjectionLine ); 00131 int ProjectWithTOFPos( int a_direction, oProjectionLine* ap_ProjectionLine ); 00142 int ProjectWithTOFBin( int a_direction, oProjectionLine* ap_ProjectionLine ); 00143 00144 00145 // ------------------------------------------------------------------- 00146 // Data members 00147 private: 00148 FLTNB *mp_boundariesX; 00149 FLTNB *mp_boundariesY; 00150 FLTNB *mp_boundariesZ; 00151 }; 00152 00153 00154 // Class for automatic insertion (set here the visible projector's name as the first parameter, 00155 // put the class name as the second parameter and do NOT add semi-colon at the end of the line) 00156 CLASS_PROJECTOR(joseph,iProjectorJoseph) 00157 00158 #endif