DCMTK的Worklist初探

作为一个非医学相关专业的程序员,要实现通过DCMTK实现相关通讯还是得兜些圈子。在这里记录一下比较绕,实际却很简单的Worklist吧。

首先我们需要一个查询的SCP,DCMTK为我们提供了wlmscpfs用于测试:

usage: wlmscpfs [options] port

比较绕的点在于,仅提供ip与port是不够的的,中间的options需要什么呢,实际可用的如下:

wlmscpfs.exe -dfr -dfp wlistdb/OFFIS 104

-dfr为--disable-file-reject,-dfp代指--data-files-path。问题就在dfp的介绍比较笼统,查阅资料后发现,要实现worklist查询,SCP和SCU都需要有worklist文件,后缀为.wl。其实这种文件就是dcm文件,只是文件中一般不存储像素信息,主要用于存取患者信息。SCP和SCU所用的wl文件区别在于,一个有值域,一个没有。

worklist文件是以二进制形式存储的,DCMTK为我们提供了工具可将wl文件转换为dump文件,这是一种可逆向转换的ASCII文件,我们可使用dcmdump.exe将wl转换为dump文件后,查看或修改dump文件。然后再将dump文件通过dump2dcm.exe转换回wl文件。

问题来了,wl文件从哪儿获取呢?其实DCMTK源码包中就有。SCP所需的wl文件位置在${dcmtk_dir}\dcmwlm\data\wlistdb\OFFIS下(${dcmtk_dir}表示dcmtk源码目录),SCU所需的wl文件位置在${dcmtk_dir}\dcmwlm\data\wlistqry。通过之前提到的工具可将dump文件转化为wl文件。

光有文件还不行,还得将文件以一定形式组织起来。新建文件夹结构如下,然后将SCP所需文件放入OFFIS下,SCU所需文件放入wlistqry下。同时我们还需要将原OFFIS目录下的lockfile文件放入新OFFIS目录下

Root_Folder
├─wlistdb
│  └─OFFIS
└─wlistqry

如此,可以使用上述指令开始SCP服务。

接下来使用

usage: findscu [options] peer port [dcmfile-in...]

findscu -aec . 127.0.0.1 104 wlistqry/wlistqry.wl -k 0010,0020

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值