00001 /*========================================================================= 00002 00003 Program: 3DMed 00004 Date: $Date: 2014-02-25 18:30:00 +0800 $ 00005 Version: $Version: 4.6.0 $ 00006 Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences 00007 00008 =========================================================================*/ 00009 00010 00011 #ifndef __mitkParallelBeamReconFromCirle_h 00012 #define __mitkParallelBeamReconFromCirle_h 00013 00014 #include "mitkCTReconstructionFilter.h" 00015 #include "mitkParallelProjectData.h" 00016 //#define PI 3.14159265358979 00017 00023 00024 00025 class MITK_RECONSTRUCTION_API mitkParallelBeamReconFromCirle : public mitkCTReconstructionFilter 00026 { 00027 public: 00028 MITK_TYPE(mitkParallelBeamReconFromCirle , mitkCTReconstructionFilter) 00029 00030 virtual void PrintSelf(ostream& os); 00034 void SetDetectorLength(double m){lengthDetector = m; } 00035 00039 double GetDetectorLength(){return lengthDetector;} 00040 00048 void SetFov(double *m){fov[0] = m[0]; fov[1] = m[1]; fov[2] = m[2]; fov[3] = m[3];} 00049 void SetFov(double xmin,double xmax,double ymin,double ymax){fov[0] = xmin; fov[1] = xmax; fov[2] = ymin; fov[3] = ymax;} 00050 00058 double* GetFov() {return fov;} 00059 00060 00061 mitkParallelBeamReconFromCirle(); 00062 00063 protected: 00064 00065 virtual ~mitkParallelBeamReconFromCirle(); 00066 00067 virtual bool Execute()=0; 00068 00069 private: 00070 00071 double lengthDetector; 00072 double fov[4]; 00073 00074 mitkParallelBeamReconFromCirle(const mitkParallelBeamReconFromCirle &); 00075 void operator = (const mitkParallelBeamReconFromCirle&); 00076 00077 }; 00078 00079 //#define DEFINED_mitkParallelBeamReconFromCirle 00080 00081 00082 00083 00084 #endif 00085