|
|
@@ -508,6 +508,7 @@ nsFPD::FPDDemoDevice::FPDDemoDevice(std::shared_ptr<IOEventCenter> center, strin
|
|
|
m_bIsSendFluFrame = false;
|
|
|
m_bRadMode = true;
|
|
|
m_bFluMode = false;
|
|
|
+ m_bDDRMode = false;
|
|
|
m_nSendImageInterval = 0;
|
|
|
m_bFor750MT = false;
|
|
|
m_fFluPPS = 40.0f;
|
|
|
@@ -798,6 +799,7 @@ bool nsFPD::FPDDemoDevice::Acq_Proc()
|
|
|
sleep(1);
|
|
|
ret = MakeFrame(DEMOEXAMMODE_RAD);
|
|
|
m_SyncUnit->XWindowOffNotify();
|
|
|
+ m_SyncUnit->XrayOffNotify();
|
|
|
}
|
|
|
else if (m_bRadMode)
|
|
|
{
|
|
|
@@ -809,6 +811,7 @@ bool nsFPD::FPDDemoDevice::Acq_Proc()
|
|
|
}
|
|
|
ret = MakeFrame(DEMOEXAMMODE_RAD);
|
|
|
m_SyncUnit->XWindowOffNotify();
|
|
|
+ m_SyncUnit->XrayOffNotify();
|
|
|
}
|
|
|
else if (m_bFluMode)
|
|
|
{
|
|
|
@@ -938,7 +941,6 @@ bool nsFPD::FPDDemoDevice::MakeFrame(DEMOEXAMMODE eExamMode)
|
|
|
FINFO("Full image create time-{$}:{$}:{$}:{$}", m_stImgCreateTime.wHour, m_stImgCreateTime.wMinute, m_stImgCreateTime.wSecond, m_stImgCreateTime.wMilliseconds);
|
|
|
|
|
|
m_SyncUnit->ImageReadingNotify();
|
|
|
-
|
|
|
m_AcqUnit->ImagerPixelSpacingNotify(m_nPixelSpacing);
|
|
|
|
|
|
FINFO("Add rad raw({$} {$})", m_nFullWidth, m_nFullHeight);
|
|
|
@@ -952,8 +954,10 @@ bool nsFPD::FPDDemoDevice::MakeFrame(DEMOEXAMMODE eExamMode)
|
|
|
{
|
|
|
m_SyncUnit->ImageReadingNotify();
|
|
|
FINFO("Add flu raw({$} {$})", m_nFullWidth, m_nFullHeight);
|
|
|
- AddFrameWithRawHead(IMAGE_FULL, m_pSeqList->GetImage(), m_nFullWidth * m_nFullHeight);
|
|
|
- FINFO("Send Frame ID:{$}",m_pSeqList->GetCurrentFrameID());
|
|
|
+ //AddFrameWithRawHead(IMAGE_FULL, m_pSeqList->GetImage(), m_nFullWidth * m_nFullHeight);
|
|
|
+ string ImageFULL = GetProcessDirectory() + "/DemoImage/ImageFULL.raw";
|
|
|
+ AddFrameWithRawHead(IMAGE_FULL, m_nFullWidth * m_nFullHeight, ImageFULL);
|
|
|
+ //FINFO("Send Frame ID:{$}",m_pSeqList->GetCurrentFrameID());
|
|
|
|
|
|
FINFO("End FLU");
|
|
|
return true;
|
|
|
@@ -997,10 +1001,10 @@ void nsFPD::FPDDemoDevice::SendFluFrame()
|
|
|
m_bIsSendFluFrame = true;
|
|
|
|
|
|
//先重置frameID
|
|
|
- ResetFrame();
|
|
|
+ //ResetFrame();
|
|
|
FINFO("m_nSendImageInterval:{$}", m_nSendImageInterval);
|
|
|
-
|
|
|
- while (m_bIsSendFluFrame)
|
|
|
+ int loopCount = 0;
|
|
|
+ while (m_bIsSendFluFrame && loopCount < 6)
|
|
|
{
|
|
|
//这里根据设置的帧率计算睡多长时间
|
|
|
int sleepTime = m_nSendImageInterval;
|
|
|
@@ -1016,17 +1020,18 @@ void nsFPD::FPDDemoDevice::SendFluFrame()
|
|
|
FERROR("Send flu frame fail!");
|
|
|
m_bIsSendFluFrame = false;
|
|
|
}
|
|
|
+ loopCount++;
|
|
|
//把dcm中的图发送一遍后就结束
|
|
|
- FINFO("m_pSeqList->GetCurrentFrameID:{$},m_nTotalFrameNum:{$}", m_pSeqList->GetCurrentFrameID(), m_nTotalFrameNum);
|
|
|
+ /*FINFO("m_pSeqList->GetCurrentFrameID:{$},m_nTotalFrameNum:{$}", m_pSeqList->GetCurrentFrameID(), m_nTotalFrameNum);
|
|
|
if (m_pSeqList->GetCurrentFrameID() == m_nTotalFrameNum - 1)
|
|
|
{
|
|
|
FINFO("stop send image");
|
|
|
break;
|
|
|
- }
|
|
|
- m_pSeqList->GetNext();
|
|
|
+ }*/
|
|
|
+ //m_pSeqList->GetNext();
|
|
|
}
|
|
|
m_SyncUnit->XWindowOffNotify();
|
|
|
-
|
|
|
+ m_SyncUnit->XrayOffNotify();
|
|
|
m_DetectorCtrlUnit->SetDetectorStatus(to_string(DETECTOR_STATUS_STANDBY));//SendFluFrame 结束
|
|
|
FINFO("SendFluFrame Over");
|
|
|
}
|
|
|
@@ -1188,6 +1193,10 @@ bool nsFPD::FPDDemoDevice::GetLogicMode(string& strAcqMode, int& nLogicMode)
|
|
|
{
|
|
|
nLogicMode = STITCH;
|
|
|
}
|
|
|
+ else if (strAcqMode == "DDR")
|
|
|
+ {
|
|
|
+ nLogicMode = DDR;
|
|
|
+ }
|
|
|
else if (strAcqMode == "1")
|
|
|
{
|
|
|
nLogicMode = RAD;
|
|
|
@@ -1204,6 +1213,10 @@ bool nsFPD::FPDDemoDevice::GetLogicMode(string& strAcqMode, int& nLogicMode)
|
|
|
{
|
|
|
nLogicMode = STITCH;
|
|
|
}
|
|
|
+ else if (strAcqMode == "DDR")
|
|
|
+ {
|
|
|
+ nLogicMode = DDR;
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
FERROR("Not support mode!");
|
|
|
@@ -1273,7 +1286,7 @@ RET_STATUS nsFPD::FPDDemoDevice::SetAcqMode(string strAcqMode)
|
|
|
{
|
|
|
m_bRadMode = false;
|
|
|
}
|
|
|
- if (nLogicMode == CF || nLogicMode == PF)
|
|
|
+ if (nLogicMode == CF || nLogicMode == PF || nLogicMode == DDR)
|
|
|
{
|
|
|
m_bFluMode = true;
|
|
|
}
|
|
|
@@ -1386,6 +1399,7 @@ RET_STATUS nsFPD::FPDDemoDevice::StartAcquisition(string in)
|
|
|
|
|
|
m_eWorkStatus = DETECTOR_WORK_ACQUIRE;
|
|
|
m_DetectorCtrlUnit->SetDetectorStatus(to_string(DETECTOR_STATUS_ACQ));
|
|
|
+ m_SyncUnit->XrayOnNotify();
|
|
|
m_SyncUnit->XWindowOnNotify();
|
|
|
//推图
|
|
|
m_AcqReqEvt->SetEvent();
|