o- dicom CMove SCP实现良好
本文关键字:实现 SCP dicom CMove | 更新日期: 2023-09-27 18:06:27
我用foo -dicom实现了一个超级快的PACS服务器,我目前唯一真正的问题是处理CMove请求。
IDicomCMoveProvider有一个方法IEnumerable<DicomCMoveResponse> OnCMoveRequest(DicomCMoveRequest request);
,但是我实现它的方式看起来是错误的,而且相当慢。
实现要点
特别是在CMove方法中,我正在创建一个新的CStore请求,我将其发送到必须接收研究的模态,对于每个实例,我创建一个新的CStore请求,一个新的DicomClient,然后我发送它并等待响应。接下来发生的是较慢的部分,每个实例完成整个DICOM通信,连接,关联,发送实例,解离,断开连接,并且需要很长时间才能发送整个研究。
我的问题是你应该如何正确地实现这一点,以便它只打开一个连接,发送所有图像并关闭。下面是使用foo -dicom完成此操作的一个理想示例。
当您在打开C-STORE关联之前收到c - move请求时,可以:
- 确定受请求 影响的匹配SOP实例(图像)的列表
- 为所有匹配实例(即按SOP类UID分组)构建一个表示上下文列表
- 在向C-MOVE目标AE的单个关联请求中协商所有表示上下文
- 发送此关联中的每个图像
通过这种方式实现,您可以为受c - move请求影响的每个单独图像摆脱"DICOM通信混乱"。