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 __mitk3DUSPixelBasedGPU_h 00012 #define __mitk3DUSPixelBasedGPU_h 00013 00014 #include "mitk3DUSReconstructionFilter.h" 00015 #include "mitkReconstructionCUDAIncludes.h" 00016 #define MITK_PNN 0 00017 #define MITK_P3DK 1 00018 00022 // ************************************************************************************************ 00023 // This implementation is not our fasted version, if you want to get the fasted one, please mail to 00024 // tian@ieee.org 00025 00026 class MITK_RECONSTRUCTION_CUDA_API mitk3DUSPixelBasedGPU : public mitk3DUSReconstructionFilter 00027 { 00028 public: 00029 MITK_TYPE(mitk3DUSPixelBasedGPU, mitk3DUSReconstructionFilter) 00030 00031 virtual void PrintSelf(ostream &os); 00032 00033 mitk3DUSPixelBasedGPU(); 00034 00038 void UsePNN() { m_Method = MITK_PNN; } 00039 00043 void UseP3DK() { m_Method = MITK_P3DK; } 00044 virtual mitkVolume* GetOutput(); 00045 00046 00047 protected: 00048 virtual ~mitk3DUSPixelBasedGPU(); 00049 // Compute the information about the Reconstruction Volume (RV) automatically. 00050 void _computeRVInfo(); 00051 00052 virtual bool Execute(); 00053 00054 // Transformation matrix from the Image (Pixel Grid) coordinate system to the 00055 // Receiver coordinate system. 00056 mitkMatrix m_IToR; 00057 00060 //mitkMatrix m_RToT; 00061 00062 // Transformation matrix from the Transmitter coordinate system to the 00063 // Voxel Grid coordinate system. 00064 mitkMatrix m_TToV; 00065 // Volume size and voxel size (spacings) of the reconstruction volume. 00066 int m_VolumeSize[3]; 00067 float m_VoxelSpacings[3]; 00068 00069 int m_Method; 00070 00071 private: 00072 mitk3DUSPixelBasedGPU(const mitk3DUSPixelBasedGPU&); 00073 void operator = (const mitk3DUSPixelBasedGPU&); 00074 00075 }; 00076 00077 #endif 00078