00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __mitk2DBeamPD_h
00012 #define __mitk2DBeamPD_h
00013
00014 #include "mitkCTProjectionData.h"
00015
00016
00031
00032
00033 class MITK_RECONSTRUCTION_API mitk2DBeamPD : public mitkCTProjectionData
00034 {
00035 public:
00036 MITK_TYPE(mitk2DBeamPD,mitkCTProjectionData)
00037
00038 virtual void PrintSelf(ostream& os);
00039
00040
00041 virtual void Initialize();
00042
00043 void SetColumnNum(int m){mColNum=m;}
00044 int GetColumnNum() const {return mColNum;}
00045
00046 void SetNumPerTurn(int m){mNumPerTurn=m;}
00047 int GetNumPerTurn() const {return mNumPerTurn;}
00048
00049 void SetSliceNum(int m){mSliceNum = m;}
00050 int GetSliceNum() const {return mSliceNum;}
00051
00052 void SetHRes(float m){mHRes=m;}
00053 float GetHRes() const {return mHRes;}
00054
00055 void SetSliceRes(float m){mSliceRes=m;}
00056 float GetSliceRes() const {return mSliceRes;}
00057
00061 virtual void const* GetSliceForRead(int sliceIdx)=0;
00062 virtual void* GetSliceForWrite(int sliceIdx)=0;
00063 virtual void* GetSliceForReadWrite(int sliceIdx)=0 ;
00064
00065
00073 virtual unsigned long long GetActualMemorySize() const=0;
00074
00078 virtual void ShallowCopy(mitkDataObject *src)=0;
00082 virtual void DeepCopy(mitkDataObject *src)=0;
00083
00087 virtual void const* GetVolumeData() const {return m_Data;}
00088
00092 virtual void* GetVolumeData() {return m_Data;}
00093
00097 void SetVolumeData(mitkVolume *);
00098
00099 virtual bool Allocate()=0;
00100
00101
00102
00103 protected:
00104 mitk2DBeamPD();
00105 virtual ~mitk2DBeamPD();
00106 private:
00107
00108
00109 int mColNum;
00110 int mNumPerTurn;
00111 int mSliceNum;
00112 float mHRes;
00113 float mSliceRes;
00114
00115
00116
00117 };
00118
00119
00120
00121
00122
00123 #endif
00124