mvn install
构建了它。现在,当我进入 dcm4che-assembly / target / dcm4che-5.13.2-bin / dcm4che-5.13.2 / bin
目录并尝试下载StudyInstanceUID时:./movescu -c DCMQRSCP@www.dicomserver.co.uk:104 -m StudyInstanceUID=1.2.826.0.1.3680043.11.105 --dest STORESCP
我收到了错误:
...
(0000,0902) LO [Unknown Move Destination: STORESCP] ErrorComment
...
错误提示表明无法连接到接收器。我尝试运行:
./storescp -b STORESCP:11112
我尝试过运行dcmqrscp
,但没有太大的成功。 我也尝试了运行movescu
,但结果类似。
我的谦虚请求:请提供movescu
的工作示例。
详情
我可以轻松使用findscu
,例如:
./findscu -c DCMQRSCP@www.dicomserver.co.uk:104 -m StudyInstanceUID=1.2.826.0.1.3680043.11.105 -r PatientID
给出:
(0008,0005) CS [] SpecificCharacterSet
(0008,0052) CS [STUDY] QueryRetrieveLevel
(0008,0054) AE [DCMQRSCP] RetrieveAETitle
(0010,0020) LO [PAT004] PatientID
(0020,000D) UI [1.2.826.0.1.3680043.11.105] StudyInstanceUID
同样,getscu
命令似乎也可以工作:
>./getscu -c DCMQRSCP@www.dicomserver.co.uk:104 -m StudyInstanceUID=1.2.826.0.1.3680043.11.105
创建以下DICOM文件:
ls 1* -lh
-rw-rw-r-- 1 max max 12M jul 7 12:16 1.2.276.0.7230010.3.1.4.39332053.7432.1527748041.31
-rw-rw-r-- 1 max max 150K jul 7 12:17 1.2.276.0.7230010.3.1.4.8323329.11391.1527939718.955155
-rw-rw-r-- 1 max max 6,0M jul 7 12:17 1.2.826.0.1.3680043.9.6384.2.2087.20180322152557.400.100
-rw-rw-r-- 1 max max 6,0M jul 7 12:17 1.2.826.0.1.3680043.9.6384.2.2087.20180322152557.400.104
-rw-rw-r-- 1 max max 6,0M jul 7 12:17 1.2.826.0.1.3680043.9.6384.2.2087.20180322152557.400.108
-rw-rw-r-- 1 max max 6,0M jul 7 12:17 1.2.826.0.1.3680043.9.6384.2.2087.20180322152557.400.112
-rw-rw-r-- 1 max max 6,0M jul 7 12:16 1.2.826.0.1.3680043.9.6384.2.2087.20180322152557.400.80
-rw-rw-r-- 1 max max 6,0M jul 7 12:17 1.2.826.0.1.3680043.9.6384.2.2087.20180322152557.400.84
-rw-rw-r-- 1 max max 6,0M jul 7 12:17 1.2.826.0.1.3680043.9.6384.2.2087.20180322152557.400.88
-rw-rw-r-- 1 max max 6,0M jul 7 12:17 1.2.826.0.1.3680043.9.6384.2.2087.20180322152557.400.92
-rw-rw-r-- 1 max max 6,0M jul 7 12:17 1.2.826.0.1.3680043.9.6384.2.2087.20180322152557.400.96
最后,如果这个问题被归类为重复,请原谅。在 StackOverflow 或 dcm4che-forum 上花了几天时间都没有找到可用的 movescu
示例,我已经放弃搜索。目标是有一个示例供我使用,以便我可以修改底层 Java 代码以满足自己的需求。如果您对整个 movescu
转储感兴趣,请告诉我。
更新
在 Tarmo 的有用提示后,我尝试了 (1) 使用正确的 AE 和端口以及 (2) 切换到 Orthanc。不幸的是,我仍然无法从 dicomserver.co.uk 检索图像,但 Orthanc 解决方案起作用了。
以下是结果摘要:
备选方案 1:端口和端口兼容性
看起来我的问题部分与 RTFM 相关:
使用任何你喜欢的调用和被调用 AE 标题(使它们特定于您将有助于检查日志),但如果您希望使用 C-MOVE,请确保调用和目标 AET 相同,并且您监听 104 端口。
我的第一次尝试是对齐两个 AE 标题:
./movescu -c STORESCP@www.dicomserver.co.uk:104 -m StudyInstanceUID=1.2.826.0.1.3680043.11.105 --dest STORESCP
这不起作用,结果发现目标端口是随机的。在两端(服务器日志+本地)都可以找到端口:
14:23:47,539 INFO - MOVESCU->APA(1): close Socket
[addr=www.dicomserver.co.uk/88.202.185.144,port=104,localport=57985]
localport
在每次尝试中都会更改。 我已经尝试过的事情如下:
--dest
的变体:(1)STORESCP:104
,(2)STORESCP$localhost:104
,(3) 其他 AE-titles- 通过
sudo ./dcmqrscp -b STORESCP:104 --dicomdir /home/max/tmp/dcm
启动 SCP,并仅使用 AE-title 作为 dest 进行调用 - 与上述相同,但使用了
-b
选项:./movescu -c STORESCP@www.dicomserver.co.uk:104 -b STORESCP@localhost:104 -m StudyInstanceUID=1.2.826.0.1.3680043.11.105 --dest STORESCP
- 没有 SCP 并且使用我的本地 IP/外部 IP(未进行防火墙更改)的与上述相同
- 我还尝试通过手机进行 USB 持续以规避路由器,但是手机操作在 IPv6 而不是 v4 上运行
希望知道如何设置这个,因为它可能非常有用。我猜想由于C-MOVE将原始IP地址提供给dicom服务器,因此需要将104端口转发到当前计算机。作为DICOM协议的新手,我发现许多功能有些神秘...
备选方案2:本地Orthanc服务器(有效!)
以下是完整的设置步骤,供任何想要建立测试系统的人使用(使用Ubuntu 18.04):
sudo apt install orthanc
& 检查服务是否已启动systemsctl status orthanc.service
- 在
/etc/orthanc/orthanc.json
中取消注释以下行:"sample" : [ "STORESCP", "localhost", 2000 ]
,然后重启服务器systemsctl restart orthanc.service
- 转到http://localhost:8042(除非您已更改
/etc/orthanc/orthanc.json
中的Web端口) - 进入上传并查找要上传的dcm文件(您可以在此处找到要下载的dcm文件:https://www.dicomlibrary.com/或者您可以使用上面提到的
getscu
) - 将dcm文件拖放到http://localhost:8042/app/explorer.html#upload中+点击“开始上传”
- 进入患者并获取上传图像的新StudyInstanceUID
- 使用在
/etc/orthanc/orthanc.json
中允许的STORESCP
和2000
端口启动SCP服务,例如:./dcmqrscp -b STORESCP:2000 --dicomdir /home/max/tmp/dcm
使用上述SCP的新StudyInstanceUID(为便于阅读下面进行了缩写)调用
movescu
和-b
,例如:./movescu -c ORTHANC@localhost:4242 -m StudyInstanceUID=1.2.826.0.1.3680043.8..... -b STORESCP@localhost:2000 --dest STORESCP
就是这样!
C-MOVE
正常工作,服务器必须能够打开一条直接连接回您的通道,这意味着您必须允许它通过防火墙并在路由器上进行端口转发,除非您的工作站本身具有公共IP地址。PS.您在日志中看到的随机端口不是问题,一切都是应该的。基本的TCP/IP网络正在发挥作用。 - Tarmo R