HW_DataHeader.h 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. //---------------------------------------------------------------------------------------
  2. //
  3. // Copyright (c) 2012,v2 DROC
  4. // All rights reserved.
  5. //
  6. // 文件名称:CommonData.h
  7. // 文件标识:见配置管理计划书
  8. // 摘 要:与上层通信需要的数据类型定义
  9. //
  10. // 当前版本:0.1
  11. // 作 者:
  12. // 完成日期:2013年1月10日
  13. //
  14. // 取代版本:
  15. // 原 作 者:
  16. // 完成日期:
  17. //
  18. //---------------------------------------------------------------------------------------
  19. //using namespace System;
  20. #pragma once
  21. typedef struct tagHWPanelInfo
  22. {
  23. int nColumn; // 影像宽
  24. int nRow; // 影像高
  25. int nBits; // 影像大小(总数据位)
  26. float fDetectorTemprature;
  27. float fDetectorElementPhysicalSize;
  28. float fDetectorElementSpacing;
  29. char* sDetectorType;
  30. char* sDetectorID;
  31. char* sDetectorBinning;
  32. char* sLastCalibrationDateTime;
  33. /*tagPanelInfo& operator =(const tagPanelInfo &PanelInfo)
  34. {
  35. nColumn = PanelInfo.nColumn;
  36. nRow = PanelInfo.nRow;
  37. nBits = PanelInfo.nBits;
  38. fDetectorTemprature = PanelInfo.fDetectorTemprature;
  39. fDetectorElementPhysicalSize = PanelInfo.fDetectorElementPhysicalSize;
  40. fDetectorElementSpacing = PanelInfo.fDetectorElementSpacing;
  41. strDetectorType
  42. //strDetectorType.Format(_T("%s"), PanelInfo.strDetectorType);
  43. //strDetectorID.Format(_T("%s"), PanelInfo.strDetectorID);
  44. //strDetectorBinning.Format(_T("%s"), PanelInfo.strDetectorBinning);
  45. //dtLastCalibrationDateTime = PanelInfo.dtLastCalibrationDateTime;
  46. return *this;
  47. }*/
  48. }ECOM_HW_PANEL_INFO;
  49. typedef struct tagHWPanelUniqueInfo
  50. {
  51. int nColumn; // 影像原始宽
  52. int nRow; // 影像原始高
  53. int nMxPixelValue; // 影像大小(总数据位)
  54. int nLinesPerPixel; // 每行包含几个像素
  55. int nColsPerPixel; //每列包含几个像素
  56. char* strPleoraVersion; //Pleora 版本信息
  57. char* strVirtCpVersion; //瓦里安主dll版本信息
  58. char* strPaneloprVersion; //ECOM平板dll版本信息
  59. char* strDetectorType; //瓦里安平板类型
  60. int nReceptorType; // Receptor类型
  61. char* strModeDescription; //当前模式
  62. char* strSysDescription; //瓦里安驱动软件系统信息
  63. }ECOM_HW_PANEL_UNIQUE_INFO;
  64. //---------------------------------------------------------------------------------------
  65. //
  66. // 结构名称:ECOM_IMAGE_INFO
  67. // 结构说明:用来保存图像数据。
  68. //
  69. //---------------------------------------------------------------------------------------
  70. typedef struct tagHWImgInfo
  71. {
  72. int nImageType; // 2 calibration image, 1 exposure image,3 mask
  73. int nWidth; // 影像宽
  74. int nHeight; // 影像高
  75. int nBits; // 影像大小(总数据位)
  76. WORD *pwData; // 影像数据结构头指针
  77. }ECOM_HW_IMAGE_INFO;
  78. //---------------------------------------------------------------------------------------
  79. //
  80. // 结构名称:ECOM_NEW_IMAGE_INFO
  81. // 结构说明:用来保存图像数据。
  82. //
  83. //---------------------------------------------------------------------------------------
  84. typedef struct tagNewHWImgInfo
  85. {
  86. int nImageType; // 2 calibration image, 1 exposure image,3 mask
  87. int nWidth; // 影像宽
  88. int nHeight; // 影像高
  89. int nBits; // 影像大小(总数据位)
  90. CString strImageIndex; //
  91. CString strHeader; // 图像头
  92. WORD *pwData; // 影像数据结构头指针
  93. }ECOM_HW_NEWIMAGE_INFO;
  94. //---------------------------------------------------------------------------------------
  95. //
  96. // 结构名称:ECOM_COLLIMATOR
  97. // 结构说明:用来保存遮光器的参数信息.
  98. //
  99. //---------------------------------------------------------------------------------------
  100. //typedef struct tagHWCollimator
  101. //{
  102. // float fWidth; //cm
  103. // float fHeight; //cm
  104. //}ECOM_HW_COLLIMATOR;
  105. //---------------------------------------------------------------------------------------
  106. //
  107. // 结构名称:ECOM_HW_APR_INFO
  108. // 结构说明:储存APR参数。
  109. //
  110. //---------------------------------------------------------------------------------------
  111. typedef struct tagHWAPRInfo
  112. {
  113. //generator
  114. int nWS; // Work station index
  115. int nFO; // Tube focus
  116. int nET; // Technical mode
  117. int nAECFieldSel; // AEC File seletion
  118. int nAECDensity; // AEC Density
  119. int nKV; // KVP
  120. float fMA; // MA
  121. float fMS; // MS
  122. //collimator
  123. int nSID; // Source Image Distance
  124. int nCollimatorWidth; // Collimator width
  125. int nCollimatorHeight; // Collimator height
  126. int nFilter; // Filter Type
  127. //grid
  128. int nGridOn; //Grid type?
  129. int nGridSpeed;
  130. float fExpectTime;
  131. //bucky
  132. int nRotate; //
  133. //OTC or Table
  134. int nPositionNo; // Position number for Mechanical systems
  135. }ECOM_HW_APR_INFO;
  136. //---------------------------------------------------------------------------------------
  137. //
  138. // 结构名称:HW_ECOM_EXPOSURE_PARAM
  139. // 结构说明:保存技术参数文档中,一条具体的 Tech 结点下的所有参数。
  140. //
  141. //---------------------------------------------------------------------------------------
  142. typedef struct tag_HW_ExposureParam
  143. {
  144. int fKVP;
  145. int fFKVP;
  146. int nSID;
  147. int nGridSpeed;
  148. float fmA;
  149. float fmS;
  150. float fFMA;
  151. CString strBodySize;
  152. CString strGrid;
  153. tag_HW_ExposureParam& operator =(const tag_HW_ExposureParam &ExposureParam)
  154. {
  155. strBodySize.Format("%s", ExposureParam.strBodySize);
  156. strGrid.Format("%s", ExposureParam.strGrid);
  157. fKVP = ExposureParam.fKVP;
  158. fFKVP = ExposureParam.fFKVP;
  159. nSID = ExposureParam.nSID;
  160. nGridSpeed = ExposureParam.nGridSpeed;
  161. fmA = ExposureParam.fmA;
  162. fmS = ExposureParam.fmS;
  163. fFMA = ExposureParam.fFMA;
  164. return *this;
  165. }
  166. }HW_ECOM_EXPOSURE_PARAM;
  167. //---------------------------------------------------------------------------------------
  168. // 作 者:宋兴亮
  169. // 日 期:2014-03-24
  170. // 结构名称:HW_PanelXRayWindowInfo
  171. // 说明说明:保存探测器当前的曝光窗口,min,mid,max曝光窗口的值,用于检查界面显示切换曝光窗口的图标的样子
  172. //
  173. //---------------------------------------------------------------------------------------
  174. typedef struct tagHWPanelXRayWindowInfo
  175. {
  176. int nCurrentXRayWindow; //平板当前的曝光窗口
  177. int nMinXRayWindow; //平板支持的最小的曝光窗口
  178. int nMidXRayWindow; //平板支持的中间大小的曝光窗口
  179. int nMaxXRayWindow; //平板支持的最大的曝光窗口
  180. tagHWPanelXRayWindowInfo& operator =(const tagHWPanelXRayWindowInfo &PanelXRayWindow)
  181. {
  182. nCurrentXRayWindow = PanelXRayWindow.nCurrentXRayWindow;
  183. nMinXRayWindow = PanelXRayWindow.nMinXRayWindow;
  184. nMidXRayWindow = PanelXRayWindow.nMidXRayWindow;
  185. nMaxXRayWindow = PanelXRayWindow.nMaxXRayWindow;
  186. return *this;
  187. }
  188. }ECOM_HW_PANEL_XRAY_WINDOW_INFO;
  189. typedef enum
  190. {
  191. MSG_TYPE_ERROR,
  192. MSG_TYPE_WARN,
  193. MSG_TYPE_INFO
  194. };