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

mitkParallelProjectData.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 __mitkParallelProjectData_h
00012 #define __mitkParallelProjectData_h
00013 
00014 #include "mitkProjectData.h"
00015 
00016 
00021 
00022 
00023 class MITK_RECONSTRUCTION_API mitkParallelProjectData : public mitkProjectData  
00024 {
00025 public:
00026     MITK_TYPE(mitkParallelProjectData,mitkProjectData)
00027     
00028     virtual void PrintSelf(ostream& os);
00029     
00030     mitkParallelProjectData();
00031     
00032     virtual int GetDataObjectType() const { return MITK_PARALLEL_PROJECT_DATA; }
00033         
00037     virtual void const* GetData() const {return m_Data;}
00038     
00042     virtual void* GetData() {return m_Data;}
00043     
00047     void SetData(mitkVolume *m);
00048     
00052     int GetDetectorMove(){ return detectormove;}
00053     
00057     void SetDetectorMove(int m){ detectormove = m;}
00058 
00062     void SetDetectorLength(double m){lengthDetector = m; halfdetector = lengthDetector/2;}
00063     
00067     double GetDetectorLength(){return lengthDetector;}
00068     
00076     void SetFov(double *m){v[0] = m[0]; v[1] = m[1]; v[2] = m[2]; v[3] = m[3];}
00077     void SetFov(double xmin,double xmax,double ymin,double ymax){v[0] = xmin; v[1] = xmax; v[2] = ymin; v[3] = ymax;}
00078     
00086     double* GetFov(){return v;}
00087     
00091     void SetXrayNum(int m){numXray = m;}
00092     
00096     int GetXrayNum() const{return numXray;}
00097 
00101     void SetSliceNum(int m){numSlice = m;}
00102     
00106     int GetSliceNum() const{return numSlice;}
00107 
00111     virtual void ShallowCopy(mitkDataObject *src)=0;
00112 
00116     virtual void DeepCopy(mitkDataObject *src)=0;
00117 
00121     virtual void const* GetSliceForRead(int sliceIdx)=0;
00122 
00123     virtual void* GetSliceForWrite(int sliceIdx)=0;
00124 
00125     virtual void* GetSliceForReadWrite(int sliceIdx)=0 ;
00126 
00127     virtual bool Allocate()=0;
00128     
00129     virtual void Initialize();
00130 
00131 protected:
00132     virtual ~mitkParallelProjectData();  
00133 private:
00134 
00135     double lengthDetector;
00136     double halfdetector;
00137     int numSlice;
00138     int numXray;
00139     double v[4];
00140     int detectormove;
00141     
00142 };
00143  
00144 //#define DEFINED_mitkParallelProjectData
00145  
00146 
00147 
00148 
00149 #endif 
00150 
00151 

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