DICOM C-StoreSCP:如何提前知道 SCU 将发送的图像数量?
DICOM C-StoreSCP: How to know in advance number of images SCU will send?
我有 DICOM C-StoreSCP 应用程序,它从我的其他 C-StoreSCU 应用程序接收 DICOM 图像。我的 SCU 总是发送一个(而且只有一个)和完整的(给定研究的所有图像)研究一个协会。所以 SCP 总是知道从 SCU 收到的所有图像都属于单一研究。我知道我也可以检查 StudyIUID;但这不是我的兴趣点。
我想知道正在传输的研究中的图像总数。使用此数据,我想在屏幕上显示 "Received 3 of 10 images..." 之类的状态。我可以计算收到的图像(在本例中为 3 张),但我如何知道给定研究中正在传输的图像总数(在本例中为 10 张)?
解决方法:
在收到关于 SCP 的第一个 C-Store 请求时,我应该读取 StudyIUID 并为 Q\R 与 SCU 建立新的关联(在这种情况下,SCU 还应该支持 Q\R SCP 功能)并获得使用 C-Find 进行研究的图像总数。
限制:-
SCU 还应该支持 Q\R SCP 功能。
SCU 应在 C-Find 响应中强制发送图像计数。
SCU 应始终发送来自一个协会的一项研究的所有图像。
如果我自己编写 SCU(具有 Q\R SCP 功能),我可以轻松克服这些限制。但是我的 SCP 也从第三方 SCU 接收图像,这些图像可能没有实现必要的功能。
请问有没有兼容DICOM的解决方案?
这可以使用 MPPS 吗?我还没有研究过 DICOM 的 MPPS 部分。
结论:-
接受的答案 (kritzel_sw) 提出了非常好的解决方案(使用 MPPS),只有一个缺点。 MPPS 不是每个 SCU 的强制服务。 MPPS 仅适用于实际获取图像的 SCU,即模态。甚至并非所有模式都支持开箱即用的 MPPS;他们需要通过额外的许可成本和配置来解锁功能。还有很多场景是模态将实例推送到某个中间工作站,工作站再将其推送到SCP。
可能是,我需要研究 DICOM + NON_DICOM 方法的组合。
好问题,但没有简单的答案。
期望存储 SCU 也支持 C-FIND-SCP 在实践中不会很好地工作,除非您指的是存档服务器/VNA。
MPPS 是个不错的主意。您需要的所有属性(Study、Series、SOP Instance UID)都是强制性的,因此应该有效以依赖它们。 "Should" 因为我看到供应商违反了这些限制。
但是,您如何确定 SCU 已收到完整的研究报告?也许研究包括CT和MR系列,但是SCU给你发的图像只符合CT,拒绝接收MR。
您可能需要考虑实例可用性通知服务,这是另一项服务 class,通过它可以使有关 "who has got which image" 的信息可供其他系统使用。实际上这将完全满足您的需要,因为您提前知道每个 AET ("device") 那里有哪些图像可用。但这项服务在实践中并未得到广泛支持。
即使您真的知道将研究发送给您的系统上有哪些图像可用 - 您如何确定没有坐在它前面的用户刚刚选择了研究的子集学习发送。
抱歉,我无法向您提供 "real solution",但由于我上面提到的原因,我不知道任何支持您描述的功能(进度条)的真实系统。
我有 DICOM C-StoreSCP 应用程序,它从我的其他 C-StoreSCU 应用程序接收 DICOM 图像。我的 SCU 总是发送一个(而且只有一个)和完整的(给定研究的所有图像)研究一个协会。所以 SCP 总是知道从 SCU 收到的所有图像都属于单一研究。我知道我也可以检查 StudyIUID;但这不是我的兴趣点。
我想知道正在传输的研究中的图像总数。使用此数据,我想在屏幕上显示 "Received 3 of 10 images..." 之类的状态。我可以计算收到的图像(在本例中为 3 张),但我如何知道给定研究中正在传输的图像总数(在本例中为 10 张)?
解决方法:
在收到关于 SCP 的第一个 C-Store 请求时,我应该读取 StudyIUID 并为 Q\R 与 SCU 建立新的关联(在这种情况下,SCU 还应该支持 Q\R SCP 功能)并获得使用 C-Find 进行研究的图像总数。
限制:-
SCU 还应该支持 Q\R SCP 功能。
SCU 应在 C-Find 响应中强制发送图像计数。
SCU 应始终发送来自一个协会的一项研究的所有图像。
如果我自己编写 SCU(具有 Q\R SCP 功能),我可以轻松克服这些限制。但是我的 SCP 也从第三方 SCU 接收图像,这些图像可能没有实现必要的功能。
请问有没有兼容DICOM的解决方案?
这可以使用 MPPS 吗?我还没有研究过 DICOM 的 MPPS 部分。
结论:-
接受的答案 (kritzel_sw) 提出了非常好的解决方案(使用 MPPS),只有一个缺点。 MPPS 不是每个 SCU 的强制服务。 MPPS 仅适用于实际获取图像的 SCU,即模态。甚至并非所有模式都支持开箱即用的 MPPS;他们需要通过额外的许可成本和配置来解锁功能。还有很多场景是模态将实例推送到某个中间工作站,工作站再将其推送到SCP。
可能是,我需要研究 DICOM + NON_DICOM 方法的组合。
好问题,但没有简单的答案。
期望存储 SCU 也支持 C-FIND-SCP 在实践中不会很好地工作,除非您指的是存档服务器/VNA。
MPPS 是个不错的主意。您需要的所有属性(Study、Series、SOP Instance UID)都是强制性的,因此应该有效以依赖它们。 "Should" 因为我看到供应商违反了这些限制。 但是,您如何确定 SCU 已收到完整的研究报告?也许研究包括CT和MR系列,但是SCU给你发的图像只符合CT,拒绝接收MR。
您可能需要考虑实例可用性通知服务,这是另一项服务 class,通过它可以使有关 "who has got which image" 的信息可供其他系统使用。实际上这将完全满足您的需要,因为您提前知道每个 AET ("device") 那里有哪些图像可用。但这项服务在实践中并未得到广泛支持。
即使您真的知道将研究发送给您的系统上有哪些图像可用 - 您如何确定没有坐在它前面的用户刚刚选择了研究的子集学习发送。
抱歉,我无法向您提供 "real solution",但由于我上面提到的原因,我不知道任何支持您描述的功能(进度条)的真实系统。