00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __mitkFanBeamReconFromCirle_h
00012 #define __mitkFanBeamReconFromCirle_h
00013
00014 #include "mitkCTReconstructionFilter.h"
00015
00016
00022
00023
00024 class MITK_RECONSTRUCTION_API mitkFanBeamReconFromCirle : public mitkCTReconstructionFilter
00025 {
00026 public:
00027 MITK_TYPE(mitkFanBeamReconFromCirle , mitkCTReconstructionFilter)
00028
00029 virtual void PrintSelf(ostream& os);
00030
00031 mitkFanBeamReconFromCirle();
00032
00036 float GetDetectorMove(){ return detectormove;}
00037
00041 void SetDetectorMove(float m){ detectormove = m;}
00042
00046 void SetDetectorLength(double m){lengthDetector = m; }
00047
00051 double GetDetectorLength(){return lengthDetector;}
00052
00060 void SetFov(double *m){fov[0] = m[0]; fov[1] = m[1]; fov[2] = m[2]; fov[3] = m[3];}
00061 void SetFov(double xmin,double xmax,double ymin,double ymax){fov[0] = xmin; fov[1] = xmax; fov[2] = ymin; fov[3] = ymax;}
00062
00070 double* GetFov() {return fov;}
00071
00075 void SetSourceToCenterDistance(double m){sod = m;}
00076
00080 double GetSourceToCenterDistance() const {return sod;}
00081
00085 void SetSourceToDetectorDistance(double m){sdd = m;}
00086
00090 double GetSourceToDetectorDistance() const {return sdd;}
00091
00092
00093
00094 protected:
00095
00096 virtual ~mitkFanBeamReconFromCirle();
00097
00098 virtual bool Execute()=0;
00099
00100 double lengthDetector;
00101 float detectormove;
00102 double fov[4];
00103 double sod;
00104 double sdd;
00105 private:
00106
00107 mitkFanBeamReconFromCirle(const mitkFanBeamReconFromCirle &);
00108 void operator = (const mitkFanBeamReconFromCirle&);
00109
00110 };
00111
00112
00113
00114
00115
00116
00117 #endif
00118