#pragma once #include "LogicDevice.h" class WorkStationDevice; class AcquisitionDevice : public LogicDevice { protected: WorkStationDevice *m_pWorkStation; protected: int m_ImgNumber; // 通知PACKET_CMD_DATA的次数 int m_nAcqImgNum; float m_fTargetEXI; clock_t m_AcqStartTime; // 为计算PostFrameRate记录采集开始时间 clock_t m_AcqFinishTime; // 为计算PostFrameRate记录采集结束时间 bool m_UIExpEnable; float m_fTargetDose; float m_fDeviationRate; int m_nImageRecoveryCancel; string m_strImageRecoveryDevPath; ResDataObject m_ROI; int m_nImageFull; int m_nFpdSyncMode; int m_nSeqImageNumDefault; //采集默认图像数量 HANDLE m_hGetImgEvent; int m_nSeqImageNum; // 上层设置的图像数或ProjectionNum属性通知的值 public: AcquisitionDevice(); virtual ~AcquisitionDevice(); void SetWorkStation(WorkStationDevice* pWS) { m_pWorkStation = pWS; } RET_STATUS SetExpNumber(int nExpNum); public: //继承的接口实现 virtual bool SYSTEM_CALL GetDeviceType(GUID& DevType) override; virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN* pCmd) override; RET_STATUS Request(ResDataObject PARAM_IN* pRequest, ResDataObject PARAM_OUT* pResponse) override; virtual RET_STATUS GetDeviceResource(ResDataObject PARAM_OUT* pDeviceResource) override; void SetSeqenceImageNumber(int number); };