1

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

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

我的实施要点

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

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

4

1 回答 1

3

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

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

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

于 2016-09-13T08:16:26.267 回答