代码之家  ›  专栏  ›  技术社区  ›  Max Gordon

检索dicom图像的基本movescu示例

  •  2
  • Max Gordon  · 技术社区  · 8 年前

    我试着用 dcm4che 从免费下载图片 http://www.dicomserver.co.uk/ 是的。我已经克隆并签出了5.13.2版本,并使用 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 是的。


    详情

    我可以得到 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*-左侧

    -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 ,我已经放弃搜索。我们的目标是有一个示例来使用,这样我就可以根据自己的目的修改底层java代码。如果你对整个 莫夫斯库 倾倒。


    更新

    之后 塔尔莫 我试着(1)使用正确的ae&port;(2)换到orthanc。不幸的是,我仍然无法从 dicomserver.co.uk 但奥桑奇的解决方案奏效了。

    以下是结果摘要:

    备选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 (一) STORESCP:104 ,(二) STORESCP$localhost:104 ,(3)其他不良事件标题
    • 通过启动SCP sudo ./dcmqrscp -b STORESCP:104 --dicomdir /home/max/tmp/dcm (在 sudo 是因为端口号太低)并且调用时只有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向dicom服务器提供原始ip地址,104端口需要转发到当前计算机。作为dicom协议的新手,我发现这些特性中的许多有些神秘……

    alt 2:本地orthanc服务器(工作!)

    以下是所有想要安装并运行测试系统(使用Ubuntu18.04)的人的完整设置:

    1. sudo apt install orthanc &检查服务是否已启动(amp;C) systemsctl status orthanc.service
    2. 在 /etc/orthanc/orthanc.json 取消对行的注释: "sample" : [ "STORESCP", "localhost", 2000 ] 重新启动服务器 systemsctl restart orthanc.service
    3. 去 http://localhost:8042 (除非您在 /etc/orthanc/orthanc.json格式 )
    4. 导航到Upload并找到要上载的DCM文件(您可以在此处找到要下载的DCM文件: https://www.dicomlibrary.com/ 或者你可以使用 格斯库 从上面)
    5. 将DCM文件拖放到 http://localhost:8042/app/explorer.html#upload +按“开始上传”
    6. 去病人那里获取上传图像的新研究状态uid
    7. 使用启动scp服务 STORESCP 和 2000 允许进入的端口 /etc/orthanc/orthanc.json格式 ,例如 ./dcmqrscp -b STORESCP:2000 --dicomdir /home/max/tmp/dcm
    8. 打电话给 莫夫斯库 与 -乙 使用新的studyinstanceuid(为便于阅读,以下简称)发送到上述SCP,例如:

      ./movescu -c ORTHANC@localhost:4242 -m StudyInstanceUID=1.2.826.0.1.3680043.8..... -b STORESCP@localhost:2000 --dest STORESCP

    就这样!

    1 回复  |  直到 8 年前
        1
  •  2
  •   Tarmo R    8 年前

    请阅读 http://www.dicomserver.co.uk/ 再去首页看看,如何设置你的查询。命令的语法是正确的,但有些细节是错误的。

    基本上你需要两件事:

    1. 您的主叫声发射标题必须与目的地声发射标题相同。你现在的情况不一样
    2. 您的storescp必须可以从公共Internet的同一端口访问,该端口与您用于连接dicomserver.co.uk的端口相同,在您的示例中是104。他们的服务器需要与你的计算机建立新的TCP连接才能正常工作。

    我认为在本地计算机上安装一个轻量级pacs来测试应用程序会更容易(例如。 Orthanc )中。在我看来,让dicom c-move在公共互联网上工作是自找麻烦。

    推荐文章