Detector_Model_Def.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667
  1. #pragma once
  2. #define DETECTOR_MODEL_DEF_API
  3. #define DETECTOR_MODEL_DEF_C_API extern "C"
  4. #include "CcosLock.h"
  5. #include "ResDataObject.h"
  6. #define OEM_IF
  7. #define OEM_NOTIFY
  8. #define MAX_STRING 1024
  9. static const char* IMAGE_DEADLINE_TOP = "DeadLineTop";
  10. static const char* IMAGE_DEADLINE_LEFT = "DeadLineLeft";
  11. static const char* IMAGE_DEADLINE_RIGHT = "DeadLineRight";
  12. static const char* IMAGE_DEADLINE_BOTTOM = "DeadLineBottom";
  13. //typedef enum _Packet_Cmd {
  14. // PACKET_CMD_NONE = -1,
  15. // PACKET_CMD_OPEN,
  16. // PACKET_CMD_CLOSE,
  17. // PACKET_CMD_GET,
  18. // PACKET_CMD_UPDATE,
  19. // PACKET_CMD_ADD,
  20. // PACKET_CMD_DEL,
  21. // PACKET_CMD_EXE,
  22. // PACKET_CMD_DATA,
  23. // PACKET_CMD_MSG,
  24. // PACKET_CMD_ONLINE,//设备掉线后重新注册到Root
  25. // PACKET_CMD_MAX
  26. //
  27. //}PACKET_CMD;
  28. //属性Action
  29. typedef enum _AttrAction {
  30. ATTRACTION_GET,
  31. ATTRACTION_SET,
  32. ATTRACTION_ADD,
  33. ATTRACTION_DEL,
  34. ATTRACTION_UPDATE,
  35. ATTRACTION_DATA,
  36. ATTRACTION_MSG,
  37. ATTRACTION_MAX
  38. }ATTRACTION;
  39. //
  40. //typedef enum _Ret_Status {
  41. // RET_THREAD_INVALID = -4,//the calling thread is not owner
  42. // RET_INVALID = -3,//the handle is invalid
  43. // RET_NOSUPPORT = -2,//device not support
  44. // RET_TIMEOUT = -1,//超时(无接收命令)
  45. // RET_FAILED = 0,//执行命令失败
  46. // RET_PENDING,//设备有接收命令,但无反馈(在一定时间内无反馈情况)
  47. // RET_SUCCEED,//设备执行命令成功
  48. // RET_ONGOING,//设备执行命令已经完成,但是没有达成目标.
  49. // RET_FINISHED,//设备执行命令已经完成,且有达成目标.
  50. // RET_WARNING
  51. //}RET_STATUS;
  52. typedef enum ZSKK_FPD_State
  53. {
  54. ECOM_FPD_STATE_NOT_INI = 0,
  55. ECOM_FPD_STATE_ERR,
  56. ECOM_FPD_STATE_STANDBY,
  57. ECOM_FPD_STATE_PREPARE,
  58. ECOM_FPD_STATE_READY,
  59. ECOM_FPD_STATE_SLEEP,
  60. ECOM_FPD_STATE_SHUTDOWN,
  61. ECOM_FPD_STATE_EXIT
  62. }ZSKK_FPD_STATE;
  63. //------------------------采集命令相关----------------------------------------------------BEGIN
  64. #define CcosExpireAcqCmd ("ExpireAcqCmd")
  65. typedef enum _Ccos_Expire_Acq_Cmd
  66. {
  67. CCOS_EXPIRE_ACQ_ON,
  68. CCOS_EXPIRE_ACQ_OFF,
  69. CCOS_EXPIRE_ACQ_MAX
  70. }EXPIRE_ACQ_CMD;
  71. //------------------------采集命令相关----------------------------------------------------END
  72. //------------------------手闸相关----------------------------------------------------BEGIN
  73. //因为现在没有发生器的模型定义,所以先把手闸相关的定义放到此处
  74. #define CcosGeneratorSwitch ("GENERATORHSWITCH")
  75. typedef enum _Ccos_Generator_Switch
  76. {
  77. GENERATOR_SWITCH_OFF,
  78. GENERATOR_SWITCH_PREPARE,
  79. GENERATOR_SWITCH_EXP,
  80. GENERATOR_SWITCH_MAX
  81. }GENERATOR_SWITCH;
  82. //------------------------手闸相关----------------------------------------------------END
  83. //------------------------Status相关----------------------------------------------------BEGIN
  84. #define CcosDetectorExpectOp ("DetectorExpectOp")
  85. typedef enum _Ccos_Detector_ExpectOp
  86. {
  87. DETECTOR_EXPECT_NONE,
  88. DETECTOR_EXPECT_ACQ,
  89. DETECTOR_EXPECT_STOP,
  90. DETECTOR_EXPECT_MAX
  91. }DETECTOR_EXPECTOP;
  92. #define CcosDetectorWorkStatus ("DetectorWorkStatus")
  93. typedef enum _Ccos_Detector_WorkStatus
  94. {
  95. DETECTOR_WORK_ACQUIRE,
  96. DETECTOR_WORK_CALIBRATE,
  97. DETECTOR_WORK_MAX
  98. }DETECTOR_WORK_STATUS;
  99. #define CcosDetectorStatus ("DetectorStatus")
  100. typedef enum _Ccos_Detector_Status
  101. {
  102. DETECTOR_STATUS_SHUTDOWN,
  103. DETECTOR_STATUS_INIT,
  104. DETECTOR_STATUS_SLEEP,
  105. DETECTOR_STATUS_WAKEUP,//低能耗,能工作
  106. DETECTOR_STATUS_STANDBY,//高能耗,能采集
  107. //DETECTOR_STATUS_ACQ_WAIT,//在STANDBY状态,执行ACQ Action且没到ACQ状态
  108. DETECTOR_STATUS_ACQ,
  109. //DETECTOR_STATUS_STANDBY_WAIT,//在ACQ状态,执行StopAcq Action且没到STANDBY状态
  110. DETECTOR_STATUS_CALIB, //校正状态
  111. DETECTOR_STATUS_ERROR,
  112. DETECTOR_STATUS_MAX
  113. }DETECTOR_STATUS;
  114. typedef enum ENUM_SHARE_EVENT_STATE_
  115. {
  116. PANEL_CONNECT_ERROR = 0,
  117. PANEL_ATTACH_START = 1,
  118. PANEL_CONNECT_OK = 2,
  119. PANEL_DISCONNECT_SUCCESS = 3,
  120. PANEL_DISCONNECT_ERROR = 4,
  121. PANEL_ATTACH_OVER = 5,
  122. PANEL_ATTACH_FAILED = 6,
  123. PANEL_ATTACH_NULL = 7,
  124. PANEL_ATTACH_FAILED_WITH_IMG = 8,
  125. PANEL_ATTACH_NEWSN = 9,
  126. PANEL_ATTACH_FAILED_WITHOUT_PERMISSION = 10,
  127. PANEL_START_STOREDIMAGE = 11,
  128. PANEL_END_STOREDIMAGE = 12,
  129. PANEL_EXPORT_AUTONUMOUS_FINISH = 13
  130. }DETECTOR_SHARE_STATUS;
  131. #define CcosEcomFPDState ("EcomFPDState")
  132. #define CcosDetectorAttach ("DetectorAttach")
  133. #define CcosDetectorAttachedFlag ("FPDAttached")
  134. #define CcosDetectorConnectStatus ("DetectorConnectStatus")
  135. typedef enum _Ccos_Detector_Connect_Status
  136. {
  137. DETECTOR_CONNECT_ERROR = 0,
  138. DETECTOR_ATTACH_START = 1,
  139. DETECTOR_CONNECT_OK = 2,
  140. DETECTOR_DISCONNECT_SUCCESS = 3,
  141. DETECTOR_DISCONNECT_ERROR = 4,
  142. DETECTOR_ATTACH_OVER = 5,
  143. DETECTOR_ATTACH_FAILED = 6,
  144. DETECTOR_ATTACH_NULL = 7,
  145. DETECTOR_CONNECT_MAX
  146. }DETECTOR_CONNECT_STATUS;
  147. #define CcosDetectorInitialStatus ("DetectorInitialStatus")
  148. typedef enum _Ccos_Detector_Ini_Status
  149. {
  150. DETECTOR_INI_START = 0,
  151. DETECTOR_INI_SUCCESS = 1,
  152. DETECTOR_INI_FAILED = 2,
  153. DETECTOR_INI_MAX
  154. }DETECTOR_INI_STATUS;
  155. #define CcosDetectorUpdateFWStatus ("DetectorUpdateFWStatus")
  156. typedef enum _Ccos_Detector_UFW_Status
  157. {
  158. DETECTOR_UFW_ERROR = 0,
  159. DETECTOR_UFW_SUCCESS = 1,
  160. DETECTOR_UFW_START = 2,
  161. DETECTOR_UFW_ERROR_BATTERY = 3,
  162. DETECTOR_UFW_ERROR_OMIT = 4,
  163. DETECTOR_UFW_MAX
  164. }DETECTOR_UFW_STATUS;
  165. //------------------------Status相关----------------------------------------------------END
  166. //------------------------IMAGE相关----------------------------------------------------BEGIN
  167. typedef enum Image_View_Type
  168. {
  169. IMAGE_FULL = 0,
  170. IMAGE_PREVIEW,
  171. IMAGE_AEC_PREVIEW,
  172. IMAGE_CAL
  173. }IMAGE_VIEW_TYPE;
  174. #define CcosImageInfo ("ImageInfo")
  175. #define CcosImageFul ("ImageFull")
  176. #define CcosImagePrev ("ImagePrev")
  177. typedef enum Xray_Image_Type
  178. {
  179. XRAY_IMAGE_DARK = 0,
  180. XRAY_IMAGE_XRAYED,
  181. XRAY_IMAGE_ANY,
  182. XRAY_IMAGE_MAX
  183. }XRAY_IMAGE_TYPE;
  184. //图像类型:IMAGE_VIEW_TYPE
  185. //图像类型Support:Yes,No
  186. //用例 : fullimage+yes/no,previmage+yes/no
  187. #define CcosImageType ("ImageType")
  188. #define CcosImageViewType ("ImageViewType")
  189. #define CcosImageViewTypeSupprt ("ImageViewTypeSupprt")
  190. #define CcosImageHeight ("ImageHeight")
  191. #define CcosImageWidth ("ImageWidth")
  192. #define CcosImageBits ("ImageBits")
  193. #define CcosImageBlockSize ("ImageBlockSize")
  194. #define CcosImagePixelSpacing ("ImagePixelSpacing")
  195. #define CcosImageFPDSensitivity ("FPDSensitivity")
  196. #define CcosImageFPDCoef ("FPDCoef")
  197. #define CcosImageTargetEXI ("TargetEXI")
  198. #define CcosImageLeftTrim ("ImageLeftTrim")
  199. #define CcosImageRightTrim ("ImageRightTrim")
  200. #define CcosImageTopTrim ("ImageTopTrim")
  201. #define CcosImageBottomTrim ("ImageBottomTrim")
  202. #define CcosImageReady ("ImageReady")
  203. #define CcosImageFetchFlag ("ImageFetchFlag")
  204. //所有图像的通用属性
  205. class DETECTOR_MODEL_DEF_API ImageInfoEx : public ExJsonDataObject
  206. {
  207. //TypeSupport:此类图像是否支持
  208. //ImageType:Full or Prev
  209. //ImageWidth,ImageHeight,ImageBit
  210. //ImageFetchFlag:可否Fetch进行取图
  211. //ImageReady:是否Ready
  212. //
  213. public:
  214. ImageInfoEx();
  215. virtual ~ImageInfoEx();
  216. };
  217. //------------------------Gain相关----------------------------------------------------BEGIN
  218. //增益
  219. /*
  220. 设置:按照比率保存,Gain没有线性的设置,据我目测只有多个档位选择.
  221. Gain的获取对外公开,Gain的设置不对外公开,只对OEM和DPC层公开,所以内部根据档位进行直接设置.
  222. 而档位的设置,放到DPC模块中的采集模式列表中.
  223. */
  224. #define CcosGainTitle ("GAIN")
  225. class DETECTOR_MODEL_DEF_API GainInfoEx : public ResDataObject
  226. {
  227. public:
  228. GainInfoEx();
  229. virtual ~GainInfoEx();
  230. };
  231. //------------------------Gain相关----------------------------------------------------END
  232. //------------------------ZOOM相关----------------------------------------------------BEGIN
  233. #define CcosZoomTitle ("ZOOM")
  234. #define CcosZoomX1 ("ZoomX1")
  235. #define CcosZoomY1 ("ZoomY1")
  236. #define CcosZoomX2 ("ZoomX2")
  237. #define CcosZoomY2 ("ZoomY2")
  238. #define CcosFullZoomX ("FullZoomX")
  239. #define CcosFullZoomY ("FullZoomY")
  240. class DETECTOR_MODEL_DEF_API ZoomInfoEx : public ExJsonDataObject
  241. {
  242. public:
  243. ZoomInfoEx();
  244. virtual ~ZoomInfoEx();
  245. };
  246. //------------------------ZOOM相关----------------------------------------------------END
  247. //------------------------BINNING相关----------------------------------------------------BEGIN
  248. #define CcosBinningTitle ("BINNING")
  249. #define CcosBinningX ("BinningX")
  250. #define CcosBinningY ("BinningY")
  251. class DETECTOR_MODEL_DEF_API BinningInfoEx : public ExJsonDataObject
  252. {
  253. public:
  254. BinningInfoEx();
  255. virtual ~BinningInfoEx();
  256. };
  257. //------------------------BINNING相关----------------------------------------------------END
  258. //------------------------AcqMode相关----------------------------------------------------BEGIN
  259. /*
  260. 关于AcqModeName:
  261. 用3个关键字描述,High(Low)Resolution,High(Low)FrameRate,High(Low)Dose.
  262. 一般情况HighResolution,必跟LowFrameRate,增益可以二选一High(Low)Dose.
  263. 一般情况LowResolution,跟HighFrameRate,增益LowDose.
  264. 其他情况,自行脑补...
  265. 策略上尽量都保持High最好,优先级 HighResolution > LowDose > HighFrameRate
  266. */
  267. #define CcosAcqModeName ("AcqModeName")
  268. #define CcosAcqMode ("AcqMode") //采集模式 1-RAD 2-TOMO
  269. //------------------------Seq相关----------------------------------------------------BEGIN
  270. //#define XwindowTitle ("XWINDOW")
  271. #define CcosXwindowSize ("XwindowSize")
  272. #define CcosXwindowStatus ("XwindowStatus")
  273. typedef enum _Xwindow_Status {
  274. XWINDOW_OFF,
  275. XWINDOW_ON,
  276. XWINDOW_MAX
  277. }XWINDOW_STATUS;
  278. #define CcosSyncMode ("SyncMode")
  279. typedef enum _Sync_Mode {
  280. SYNC_MANUAL,
  281. SYNC_SOFTWARE,
  282. SYNC_HARDWARE, //带ECOM同步盒的硬同步
  283. SYNC_AED,
  284. SYNC_HARDWARE_DIRECT, //探测器、发生器直连的硬同步
  285. SYNC_MAX
  286. }SYNC_MODE;
  287. #define CcosHardwareTriggerMode ("HardwareTriggerMode")
  288. typedef enum _Hardware_Trigger_Mode {
  289. HW_TRIGGER_NONE,
  290. HW_TRIGGER_INTERNAL,
  291. HW_TRIGGER_EXTERNAL,
  292. HW_TRIGGER_MAX
  293. }HARDWARE_TRIGGER_MODE;
  294. #define CcosImageReadingStatus ("ImageReadingStatus") //addbyys20200410 曝光过程中探测器反馈的有图像的状态。
  295. //目前用于涛影项目,缩短第一二两次曝光的时间间隔
  296. #define CcosFPDReadyStatus ("FPDReadyStatus") //addbyys20200526 探测器采集Ready的状态。
  297. //目前用于涛影项目,拼接检查第一帧完毕后发这个消息告知子系统探测器状态
  298. //------------------------Seq相关----------------------------------------------------END
  299. #define CcosFrameRate ("FrameRate")
  300. #define CcosDoseRange ("DoseRange")
  301. #define CcosSensitivity ("Sensitivity")
  302. class DETECTOR_MODEL_DEF_API AcqModeInfoEx : public ResDataObject
  303. {
  304. //no key!!!!!,所以继承的是ResDataObject
  305. //ModeName
  306. //ZOOMX,ZOOMY
  307. //BINNINGX,BINNINGY
  308. //Width,Height,Bits
  309. //Trim(L,R,T,B)
  310. //Xwindow Size
  311. //FrameRate
  312. //Gain
  313. //doseRange
  314. //Sensitivity
  315. public:
  316. AcqModeInfoEx();
  317. virtual ~AcqModeInfoEx();
  318. };
  319. #define AcqModeListTitle ("AcqModeList")
  320. class DETECTOR_MODEL_DEF_API AcqModeInfoListEx : public ExJsonDataObject
  321. {
  322. //normal key
  323. //1:AcqModeInfoEx1
  324. //2:AcqModeInfoEx2
  325. //3:AcqModeInfoEx3
  326. //4:AcqModeInfoEx4
  327. public:
  328. AcqModeInfoListEx();
  329. virtual ~AcqModeInfoListEx();
  330. };
  331. #define CcosAcqModeIdx ("AcqModeIdx")
  332. #define CcosLoopCount ("LoopCount")
  333. typedef enum _TYPE_LOOPCOUNT
  334. {
  335. TYPE_LOOP_INFINITE = -1,
  336. TYPE_LOOP_NONE = 0,
  337. TYPE_LOOP_ONE = 1,
  338. TYPE_LOOP_TWO = 2,
  339. TYPE_LOOP_THREE = 3,
  340. //...
  341. }TYPE_LOOPCOUNT;
  342. #define CcosCorrStrategy ("CorrStrategy")
  343. /*
  344. 校正策略:
  345. 高2位Byte用于FrameCount : 1 --- 16
  346. 低2位Byte用于FrameType(16BIT) : 0代表Dark,1代表Xray
  347. 例:
  348. 低 -------------> 高
  349. 0x00030004, 0010 0000 ... 1100 0000 ...
  350. FrameCount3,FrameType DDX
  351. 采集3张,头两张为Dark,第三张为Xray.
  352. */
  353. #define CcosFPDCurExamModeKey ("CurExamMode")
  354. class DETECTOR_MODEL_DEF_API ExamModeInfoEx : public ResDataObject
  355. {
  356. //no key!!!!!,所以继承的是ResDataObject
  357. //AcqModeIdx
  358. //Xwindow Size
  359. //FrameRate
  360. //CorrStrategy
  361. //LoopCount
  362. public:
  363. ExamModeInfoEx();
  364. virtual ~ExamModeInfoEx();
  365. };
  366. #define CcosFPDExamModeListTitle ("ExamModeList")
  367. class DETECTOR_MODEL_DEF_API ExamModeInfoListEx : public ExJsonDataObject
  368. {
  369. //normal key
  370. //key : info
  371. //1 : AcqModeInfoEx1
  372. //2 : AcqModeInfoEx2
  373. //3 : AcqModeInfoEx3
  374. //4 : AcqModeInfoEx4
  375. public:
  376. ExamModeInfoListEx();
  377. virtual ~ExamModeInfoListEx();
  378. DWORD GetIdxKeyForNew();
  379. };
  380. //------------------------AcqMode相关----------------------------------------------------END
  381. //------------------------CalibrationInfo相关----------------------------------------------------BEGIN
  382. #define CalibrationInfo ("CalibrationInfo")
  383. #define CalibrationType ("CalibrationType")
  384. #define ValidCorrectionMap ("ValidCorrectionMap")
  385. #define CorrectionType ("CorrectionType")
  386. #define CorrectionFlag ("CorrectionFlag")
  387. #define DarkMapEffectiveTime ("DarkMapEffectiveTime")
  388. #define XrayMapEffectiveTime ("XrayMapEffectiveTime")
  389. #define RequestedFrameRate ("RequestedFrameRate")
  390. #define RequestedDose ("RequestedDose")
  391. //#define CalibrationStatus ("CalibrationStatus")
  392. #define CalibrationFrameFetchFlag ("CalibrationFrameFetchFlag")
  393. //#define CalibrationProgress ("CalibrationProgress")
  394. #define AutoDarkCalibrationStatus ("AutoDarkCalibrationStatus")
  395. typedef enum _Ccos_Calibration_Mode
  396. {
  397. CCOS_CALIBRATION_MODE_ECOM = 0,
  398. CCOS_CALIBRATION_MODE_OEM = 1,
  399. CCOS_CALIBRATION_MODE_MAX
  400. } CCOS_CALIBRATION_MODE;
  401. typedef enum _Ccos_AutoDarkCalibration_Status {
  402. CCOS_AUTODARKCALIBRATION_STATUS_START,
  403. CCOS_AUTODARKCALIBRATION_STATUS_END,
  404. CCOS_AUTODARKCALIBRATION_STATUS_MAX
  405. }CCOS_AUTODARKCALIBRATION_STATUS;
  406. typedef enum _Ccos_Calibration_Type {
  407. CCOS_CALIBRATION_TYPE_NONE,
  408. CCOS_CALIBRATION_TYPE_DARK,
  409. CCOS_CALIBRATION_TYPE_XRAY,
  410. CCOS_CALIBRATION_TYPE_MAX
  411. }CCOS_CALIBRATION_TYPE;
  412. typedef enum _Ccos_Correction_Type {
  413. CCOS_CORRECTION_OP_NONE,
  414. CCOS_CORRECTION_OP_OFFSET,
  415. CCOS_CORRECTION_OP_GAIN,
  416. CCOS_CORRECTION_OP_DEFECT = 4,
  417. CCOS_CORRECTION_OP_GATELINE = 8,
  418. CCOS_CORRECTION_OP_DARK_NONE = 16,
  419. CCOS_CORRECTION_OP_DARK_OFFSET = 32,
  420. CCOS_CORRECTION_OP_DARK_GAIN = 64,
  421. CCOS_CORRECTION_OP_DARK_DEFECT = 128,
  422. CCOS_CORRECTION_OP_DARK_GATELINE = 256,
  423. CCOS_CORRECTION_OP_MAX
  424. }CCOS_CORRECTION_TYPE;
  425. typedef enum _Ccos_Calibration_Status {
  426. CCOS_CALIBRATION_STATUS_ERROR,
  427. CCOS_CALIBRATION_STATUS_STANDBY,
  428. CCOS_CALIBRATION_STATUS_ACTIVE,
  429. CCOS_CALIBRATION_STATUS_RUNNING,
  430. CCOS_CALIBRATION_STATUS_PAUSE,
  431. CCOS_CALIBRATION_STATUS_PREPARE,
  432. CCOS_CALIBRATION_STATUS_MAX
  433. }CCOS_CALIBRATION_STATUS;
  434. /*
  435. 状态变迁:
  436. --------------------------------------------
  437. ↓ ↑
  438. Standby --Active--> (Active) --StartCali--> Running ------> (Pause)
  439. ↑ ↓
  440. ----------------------------
  441. */
  442. typedef enum _Ccos_Calibration_FrameFetch {
  443. CCOS_CALIBRATION_FRAMEFETCH_NONE,
  444. CCOS_CALIBRATION_FRAMEFETCH_ONLY,
  445. CCOS_CALIBRATION_FRAMEFETCH_CONFIRM,
  446. CCOS_CALIBRATION_FRAMEFETCH_MAX
  447. }CCOS_CALIBRATION_FRAMEFETCH;
  448. class DETECTOR_MODEL_DEF_API CalibrationDataInfo : public ExJsonDataObject,public CcosLock
  449. {
  450. //Key:CalibrationInfo
  451. //CalibrationType:NONE,DARK,XRAY
  452. //CorrectionFlag:YET:1,NO:0
  453. //CorrectionType:OFFSET | GAIN | DEFECT
  454. //ValidCorrectionMap:OFFSET | GAIN | DEFECT
  455. //RequestedFrameRate:FLOAT
  456. //real frame rate
  457. //RequestedDose:FLOAT
  458. //exi
  459. //CalibrationStatus:ERROR,STANDBY,ACTIVE,RUNNING,PAUSE.
  460. //CalibrationFrameFetchFlag:NONE,FETCHONLY,FETCHCONFIRM.
  461. //CalibrationProgress:DWORD
  462. //0 - 100%
  463. //DarkMapEffectiveTime
  464. //XrayMapEffectiveTime
  465. //use time64_t point out the uneffective tm
  466. public:
  467. CalibrationDataInfo();
  468. virtual ~CalibrationDataInfo();
  469. };
  470. //------------------------Ccos Configuration UI 相关----------------------------------------------------BEGIN
  471. //--------- Attribute -----------//
  472. #define DetectorAttribute ("Attribute")
  473. #define DetectorVender ("DetectorVender")
  474. #define DetectorModel ("DetectorModel")
  475. #define DetectorDescription ("Description")
  476. #define DetectorSerialNumber ("SerialNumber")
  477. #define WiredIP ("WiredIP")
  478. #define WirelessIP ("WirelessIP")
  479. #define LocalIP ("LocalIP")
  480. #define SyncType ("SyncType")
  481. #define FPDWorkStation ("WorkStation") //table wall free share
  482. #define ReConnect ("ReConnect") //从IsConnect改为ReConnect,避免和其它模块定义冲突
  483. #define ImageFullWidth ("ImageFullWidth")
  484. #define ImageFullHeight ("ImageFullHeight")
  485. #define TempMaxLimit ("TempMaxLimit") //温度上限,禁止曝光
  486. #define TempUpperLimit ("TempUpperLimit") //温度高阈值,警告
  487. #define TempLowerLimit ("TempLowerLimit") //温度低阈值,警告
  488. #define TempMinLimit ("TempMinLimit") //温度下限,禁止曝光
  489. #define BatLowerLimit ("BatLowerLimit") //电量低阈值,警告
  490. #define BatMiniLimit ("BatMiniLimit") //电量下限,禁止曝光
  491. #define BatLowerLimitInCali ("BatLowerLimitInCali") //校正时电量低阈值,警告
  492. #define WifiLowerLimit ("WifiLowerLimit")
  493. #define WifiMiniLimit ("WifiMiniLimit")
  494. #define HighPowerTimeout ("HighPowerTimeout") //长时间未曝光休眠
  495. #define ImageSizeX ("ImageSizeX") //图像有效宽度
  496. #define ImageSizeY ("ImageSizeY") //图像有效高度
  497. #define ImageWidth ("ImageWidth") //图像有效宽度
  498. #define ImageHeight ("ImageHeight") //图像有效高度
  499. #define WidthOffset ("WidthOffset") //图像左侧裁剪长度
  500. #define HeightOffset ("HeightOffset") //图像上方裁剪长度
  501. #define ShowTemperature ("ShowTemperature") //是否显示温度
  502. #define ShowWifi ("ShowWifi") //是否显示wifi
  503. #define ShowBattery ("ShowBattery") //是否显示电量
  504. #define ShowBluetooth ("ShowBluetooth") //是否显示蓝牙
  505. #define FPDExamMode ("FPDExamMode") //应用检查模式 101、102、201、301、302...
  506. #define FPDAcqMode ("FPDAcqMode") //探测器的采集模式
  507. #define FPDModeMatch ("FPDModeMatch") //检查模式和采集模式的对应关系
  508. #define RawImgWidth ("RawImgWidth")//raw图的宽
  509. #define RawImgHeight ("RawImgHeight")//raw图的高
  510. #define OnlyHaveFpd ("OnlyHaveFpd")//环境中是否只有探测器为真实设备 0-否 1-是
  511. //#define CalibMode ("CalibMode")//校正方式0-ECOM 1-OTHER
  512. #define SupportDDR ("SupportDDR")//是否支持DDR YES or NO
  513. #define OperationMode ("OperationMode")//动态探测器ApplicationMode
  514. #define ExamType ("ExamType")//动态探测器的触发模式 8-外触发 9-内触发
  515. #define ExiThreshold ("ExiThreshold")//EXI阈值大于该阈值认为图像有效
  516. //--------- AttributeDescription -----------//
  517. #define AttributeDescription ("Description")
  518. #define AttributeType ("Type")// "int" "float" "string" ...
  519. #define AttributeAccess ("Access") // value is "R" or "RW"
  520. #define AttributeRangeMin ("RangeMin")// pariring RangeMax. 与List互斥
  521. #define AttributeRangeMax ("RangeMax") // pairing RangeMin. 与List互斥
  522. #define AttributeList ("List")//("0","ListNum0") ("1","ListNum1") ("2","ListNum2") ("3","ListNum3") ("4","ListNum4")
  523. #define AttributeRequired ("Required") // value is "TRUE" or "FALSE"
  524. #define AttributeDefaultValue ("DefaultValue")
  525. //------------------------Ccos Configuration UI 相关----------------------------------------------------END
  526. //保存过程图
  527. typedef enum _Ccos_SaveRawDataMode
  528. {
  529. CCOS_NO_SAVE_RAW,
  530. CCOS_SAVE_ORIGINAL,
  531. CCOS_SAVE_AFTER_CROP,
  532. CCOS_SAVE_AFTER_CALIB,
  533. CCOS_SAVE_AFTER_GRID_SUPPRESSION, //GridSuppression
  534. CCOS_SAVE_ALL,
  535. CCOS_SAVE_MODE_MAX
  536. } CCOS_SAVE_RAW_DATA_MODE;
  537. typedef enum _Ccos_OffsetStatus
  538. {
  539. OFFSET_IDLE = 0,
  540. OFFSET_RUNNING = 1,
  541. OFFSET_ERROR = 2
  542. }CCOS_OFFSET_STATUS;
  543. struct AcqModeInfo
  544. {
  545. int nModeID;
  546. float fFrequency;
  547. };