Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkFanBeamProjectData.h

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 __mitkFanBeamProjectData_h
00012 #define __mitkFanBeamProjectData_h
00013 
00014 #include "mitkProjectData.h"
00015 
00016 
00031 
00032 
00033 class MITK_RECONSTRUCTION_API mitkFanBeamProjectData : public mitkProjectData  
00034 {
00035 public:
00036     MITK_TYPE(mitkFanBeamProjectData,mitkProjectData)
00037     
00038     virtual void PrintSelf(ostream& os);
00039     
00040     mitkFanBeamProjectData();
00041 
00042     virtual void Initialize();
00043 
00047     virtual void const* GetData() const {return m_Data;}
00048     
00052     virtual void* GetData() {return m_Data;}
00053 
00057     void SetData(mitkVolume *m);
00058 
00062     float GetDetectorMove(){ return detectormove;}
00063 
00067     void SetDetectorMove(float m){ detectormove = m;}
00068 
00072     void SetDetectorLength(double m){lengthDetector = m; halfdetector = lengthDetector/2;}
00073     
00077     double GetDetectorLength(){return lengthDetector;}
00078     
00086     void SetFov(double *m){v[0] = m[0]; v[1] = m[1]; v[2] = m[2]; v[3] = m[3];}
00087     void SetFov(double xmin,double xmax,double ymin,double ymax){v[0] = xmin; v[1] = xmax; v[2] = ymin; v[3] = ymax;}
00088     
00096     double* GetFov()  {return v;}
00097     
00101     void SetXrayNum(int m){numXray = m;}
00102     
00106     int GetXrayNum() const {return numXray;}
00107 
00111     void SetSourceToCenterDistance(double m){sod = m;}
00112 
00116     double GetSourceToCenterDistance() const {return sod;}
00117 
00121     void SetSourceToDetectorDistance(double m){sdd = m;}
00122 
00126     double GetSourceToDetectorDistance() const {return sdd;}
00127 
00128     
00132     void SetSliceNum(int m){numSlice = m;}
00133     
00137     int GetSliceNum() const {return numSlice;}
00138 
00146     virtual unsigned long long GetActualMemorySize() const=0;
00147 
00151     virtual void ShallowCopy(mitkDataObject *src)=0;
00155     virtual void DeepCopy(mitkDataObject *src)=0;  
00156 
00160     virtual void const* GetSliceForRead(int sliceIdx)=0;
00161     virtual void* GetSliceForWrite(int sliceIdx)=0;
00162     virtual void* GetSliceForReadWrite(int sliceIdx)=0 ;
00163 
00164     virtual bool Allocate()=0;
00165 
00166 protected:
00167     virtual ~mitkFanBeamProjectData();  
00168 private:
00169 
00170     double lengthDetector;
00171     double halfdetector;
00172     int numSlice;
00173     int numXray;
00174     double sod;
00175     double sdd;
00176     double v[4];
00177     float detectormove;
00178     
00179 };
00180  
00181 //#define DEFINED_mitkFanBeamProjectData
00182  
00183 
00184 
00185 #endif 
00186 

Generated on Tue Feb 25 15:00:36 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3