dicom服务器(DCMTK)的搭建

765 阅读3分钟

前言

接手了前同事的dicom项目,修修补补加加的,还是需要自己本地搭建个环境靠谱些。 在windows 10环境下搭建,在网上和询问同事折腾了大半天才搭建出来,记录和总结下整个过程和注意事项以及一些想到可能会犯的低级错误。

准备工作

  • dcmtk windows版本下载

地址:dicom.offis.de/download/dc…

  • 创建文件夹(具体放哪里看自己方便)
    \DICOM\Worklist\wlistdb\OFFIS (例子 D:\aboutDicom\DICOM\Worklist\wlistdb\OFFIS)
    \DICOM\Worklist\wlistqry (例子 D:\aboutDicom\DICOM\Worklist\wlistqry )
    \DCMTK(例子D:\aboutDicom\DCMTK)
    逐级创建就好了

开始搭建

  • 先将dcmtk-3.6.6-win64-dynamic.zip解压到\DCMTK文件夹下
    image.png
  • 然后需要往wlistdb、wlistqry放测试数据.wl文件,其实就是dicom文件。
    在dcmtk-3.6.6-win64-dynamic\share\dcmtk\路径下有这两个文件夹,但里面的文件是.dump,可以直接打开阅读里面的信息,需要通过dump2dcm.exe转换才能得到我们想要的文件:
    image.png
  • 转换文件,我用的3.6.7,也是一样的效果
    如果没有生成文件可以检查下两个路径。
    如果报命令不存在之类的,首先确定是在dcmtk-3.6.6-win64-dynamic/bin路径下,然后复制该命令的文件名重新输入,总之刚开始能复制的就不用手打,我就因为手打一直报命令错误疑惑了一段时间。
    image.png
  • 用同样的命令生成一份wlistdb中的.wl文件,然后将dcmtk-3.6.7-win32-dynamic\share\dcmtk下的wlistdb、wlistqry复制到DICOM\Worklist中,这一步是为了将里边的配置文件复制过来,我之前弄没复制这个获取worklist一直报错 image.png

开始运行

上边的工作做好了就可以开始运行了

  • 启动wlmscpfs
    在cmd中输入(如果没有在环境变量中添加路径需要在/bin路径下才能正常运行命令) image.png
    -d debug模式,会详细打印日志
    -dfr 可接受字段不完整的 DICOM 文件作为查询内容
    -dfp wlistdb 这个是wlmscpfs.exe 搜索的文件夹的路径,如果出现文件夹找不到的错误,用绝对路径试试。
    104 端口号 ,端口可能会被占用,如果被占用可以换个大一点的端口号,或者网上找下停止当前占用端口的进程,再运行该命令。
    wlistdb文件夹下的 OFFIS 表示 AETITLE (AETITLE作为文件夹命名,文件夹下存放查询的wl文件,在该目录下新建一个lockfile的空文件)。 image.png
  • 启动成功
    出现上面那个信息代表运行成功,可以用设备或者测试工具测试下,会详细输出被请求的相关信息,也可以另开一个cmd窗口输入findscu 127.0.0.1 104 wlistqry/wlistqry.wl -aec OFFIS image.png
    这里成功查询并获取到了一个病例信息。 如果连接失败,要注意aetitle是否正确,服务端会打印该信息,核对是否和wlistdb文件夹下的也就是服务端的aetitle相同。
    image.png 还有服务端信息的最后有标明响应数为1以上才算成功,因为一个响应消息文件,另一个才是响应需要的文件,如果为1,就是请求失败,注意看上面的报错原因就行。 image.png

结语

在这之前折腾过Orthanc,看着挺方便的,还有网页界面,也跑起来了,但设备连接一直报错:No Acceptable Presentation Contexts。现在想想估计是没有病例数据吧,不过暂时不想弄了,目前这个够用了。 在此感谢网上前辈和同事的资料。