Fo-Dicom CMove SCP很好的实现

时间:2016-09-09 15:12:08

标签: c# dicom fo-dicom

我已经用fo-dicom实现了一个超快的PACS服务器,此时我唯一真正的问题是处理CMove请求。

IDicomCMoveProvider有一个方法IEnumerable<DicomCMoveResponse> OnCMoveRequest(DicomCMoveRequest request);但是我实现它的方式看起来不对,而且速度很慢。

Gist of my implementation

特别是在CMove方法中,我正在创建一个新的CStore请求,我发送给必须接收研究的模态,每个实例我创建一个新的CStore请求,一个新的DicomClient然后我发送它并等待响应。然后发生的是缓慢的部分,每个实例都进行整个DICOM通信shebang,连接,关联,发送实例,分离,断开连接,并且发送整个研究需要很长时间。

我的问题是你应该如何正确实现这一点,以便它只打开一个连接,发送所有图像并关闭。用fo-dicom完成这项工作的一个例子是理想的。

1 个答案:

答案 0 :(得分:2)

当您在打开C-STORE协会之前收到C-MOVE请求时,可以:

  • 确定受请求影响的匹配SOP实例(图像)列表
  • 为所有匹配的实例构建一个演示上下文列表(即按SOP类UID分组)
  • 在对C-MOVE目的地AE
  • 的单个关联请求中协商所有演示文稿上下文
  • 发送此协会中的每张图片

通过这种方式实现,您可以为受C-MOVE请求影响的每个图像摆脱“DICOM通信shebang”。