//--------------------------------------------------------------------------------------- // // Copyright (c) 2012,v2 DROC // All rights reserved. // // 文件名称:CommonData.h // 文件标识:见配置管理计划书 // 摘 要:与上层通信需要的数据类型定义 // // 当前版本:0.1 // 作 者: // 完成日期:2013年1月10日 // // 取代版本: // 原 作 者: // 完成日期: // //--------------------------------------------------------------------------------------- //using namespace System; #pragma once typedef struct tagHWPanelInfo { int nColumn; // 影像宽 int nRow; // 影像高 int nBits; // 影像大小(总数据位) float fDetectorTemprature; float fDetectorElementPhysicalSize; float fDetectorElementSpacing; char* sDetectorType; char* sDetectorID; char* sDetectorBinning; char* sLastCalibrationDateTime; /*tagPanelInfo& operator =(const tagPanelInfo &PanelInfo) { nColumn = PanelInfo.nColumn; nRow = PanelInfo.nRow; nBits = PanelInfo.nBits; fDetectorTemprature = PanelInfo.fDetectorTemprature; fDetectorElementPhysicalSize = PanelInfo.fDetectorElementPhysicalSize; fDetectorElementSpacing = PanelInfo.fDetectorElementSpacing; strDetectorType //strDetectorType.Format(_T("%s"), PanelInfo.strDetectorType); //strDetectorID.Format(_T("%s"), PanelInfo.strDetectorID); //strDetectorBinning.Format(_T("%s"), PanelInfo.strDetectorBinning); //dtLastCalibrationDateTime = PanelInfo.dtLastCalibrationDateTime; return *this; }*/ }ECOM_HW_PANEL_INFO; typedef struct tagHWPanelUniqueInfo { int nColumn; // 影像原始宽 int nRow; // 影像原始高 int nMxPixelValue; // 影像大小(总数据位) int nLinesPerPixel; // 每行包含几个像素 int nColsPerPixel; //每列包含几个像素 char* strPleoraVersion; //Pleora 版本信息 char* strVirtCpVersion; //瓦里安主dll版本信息 char* strPaneloprVersion; //ECOM平板dll版本信息 char* strDetectorType; //瓦里安平板类型 int nReceptorType; // Receptor类型 char* strModeDescription; //当前模式 char* strSysDescription; //瓦里安驱动软件系统信息 }ECOM_HW_PANEL_UNIQUE_INFO; //--------------------------------------------------------------------------------------- // // 结构名称:ECOM_IMAGE_INFO // 结构说明:用来保存图像数据。 // //--------------------------------------------------------------------------------------- typedef struct tagHWImgInfo { int nImageType; // 2 calibration image, 1 exposure image,3 mask int nWidth; // 影像宽 int nHeight; // 影像高 int nBits; // 影像大小(总数据位) WORD *pwData; // 影像数据结构头指针 }ECOM_HW_IMAGE_INFO; //--------------------------------------------------------------------------------------- // // 结构名称:ECOM_NEW_IMAGE_INFO // 结构说明:用来保存图像数据。 // //--------------------------------------------------------------------------------------- typedef struct tagNewHWImgInfo { int nImageType; // 2 calibration image, 1 exposure image,3 mask int nWidth; // 影像宽 int nHeight; // 影像高 int nBits; // 影像大小(总数据位) CString strImageIndex; // CString strHeader; // 图像头 WORD *pwData; // 影像数据结构头指针 }ECOM_HW_NEWIMAGE_INFO; //--------------------------------------------------------------------------------------- // // 结构名称:ECOM_COLLIMATOR // 结构说明:用来保存遮光器的参数信息. // //--------------------------------------------------------------------------------------- //typedef struct tagHWCollimator //{ // float fWidth; //cm // float fHeight; //cm //}ECOM_HW_COLLIMATOR; //--------------------------------------------------------------------------------------- // // 结构名称:ECOM_HW_APR_INFO // 结构说明:储存APR参数。 // //--------------------------------------------------------------------------------------- typedef struct tagHWAPRInfo { //generator int nWS; // Work station index int nFO; // Tube focus int nET; // Technical mode int nAECFieldSel; // AEC File seletion int nAECDensity; // AEC Density int nKV; // KVP float fMA; // MA float fMS; // MS //collimator int nSID; // Source Image Distance int nCollimatorWidth; // Collimator width int nCollimatorHeight; // Collimator height int nFilter; // Filter Type //grid int nGridOn; //Grid type? int nGridSpeed; float fExpectTime; //bucky int nRotate; // //OTC or Table int nPositionNo; // Position number for Mechanical systems }ECOM_HW_APR_INFO; //--------------------------------------------------------------------------------------- // // 结构名称:HW_ECOM_EXPOSURE_PARAM // 结构说明:保存技术参数文档中,一条具体的 Tech 结点下的所有参数。 // //--------------------------------------------------------------------------------------- typedef struct tag_HW_ExposureParam { int fKVP; int fFKVP; int nSID; int nGridSpeed; float fmA; float fmS; float fFMA; CString strBodySize; CString strGrid; tag_HW_ExposureParam& operator =(const tag_HW_ExposureParam &ExposureParam) { strBodySize.Format("%s", ExposureParam.strBodySize); strGrid.Format("%s", ExposureParam.strGrid); fKVP = ExposureParam.fKVP; fFKVP = ExposureParam.fFKVP; nSID = ExposureParam.nSID; nGridSpeed = ExposureParam.nGridSpeed; fmA = ExposureParam.fmA; fmS = ExposureParam.fmS; fFMA = ExposureParam.fFMA; return *this; } }HW_ECOM_EXPOSURE_PARAM; //--------------------------------------------------------------------------------------- // 作 者:宋兴亮 // 日 期:2014-03-24 // 结构名称:HW_PanelXRayWindowInfo // 说明说明:保存探测器当前的曝光窗口,min,mid,max曝光窗口的值,用于检查界面显示切换曝光窗口的图标的样子 // //--------------------------------------------------------------------------------------- typedef struct tagHWPanelXRayWindowInfo { int nCurrentXRayWindow; //平板当前的曝光窗口 int nMinXRayWindow; //平板支持的最小的曝光窗口 int nMidXRayWindow; //平板支持的中间大小的曝光窗口 int nMaxXRayWindow; //平板支持的最大的曝光窗口 tagHWPanelXRayWindowInfo& operator =(const tagHWPanelXRayWindowInfo &PanelXRayWindow) { nCurrentXRayWindow = PanelXRayWindow.nCurrentXRayWindow; nMinXRayWindow = PanelXRayWindow.nMinXRayWindow; nMidXRayWindow = PanelXRayWindow.nMidXRayWindow; nMaxXRayWindow = PanelXRayWindow.nMaxXRayWindow; return *this; } }ECOM_HW_PANEL_XRAY_WINDOW_INFO; typedef enum { MSG_TYPE_ERROR, MSG_TYPE_WARN, MSG_TYPE_INFO };