作为一个非医学相关专业的程序员,要实现通过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

DCMTK的Worklist初探相关推荐

  1. pacs dicom3.0 DCMTK EFilm

    pacs dicom3.0 DCMTK EFilm -------------------------------------------------- http://bbs.hc3i.cn/thre ...

  2. web Server支持 perl

    最近使用DCMTK 安装worklist 需要用到webserver支持perl. DCMTK官方建议用NCSA Httpd1.5来安装webserver,但是这个软件一般用在Unix/Linux上, ...

  3. 【转】DICOM医学图像处理:基于DCMTK工具包学习和分析worklist

    转自:https://blog.csdn.net/zssureqh/article/details/38775315 背景: DICOM3.0协议中有介绍关于worklist的部分.简而言之,work ...

  4. workList in DCMTK问题总结

    最近正在配置DCMTK中的worklist,因为需要响应C-Find请求. 出现了很多问题,先总结问题,慢慢解决.以后再来叙述如何配置worklist 1.为啥看不到AETitle下面的文件呢???? ...

  5. DICOM医学图像处理:Dcmtk与fo-dicom保存文件的不同设计模式之“同步VS异步”+“单线程VS多线程”...

    2019独角兽企业重金招聘Python工程师标准>>> 一.背景: 最近一直在做DCM相关的编程工作,以前项目使用C++居多,所以使用DCMTK开源库,而目前团队使用C#居多,所以需 ...

  6. 【转】DCMTK各模块说明!!!!!!!

    转自:https://blog.csdn.net/Kelvin_Yan/article/details/50765693 有删改 原文来自wiki DCMTK:http://support.dcmtk ...

  7. DCMTK:wwwapp instalation

    问题 最近按照wwwapp.txt安装worklist中www application server.总有一步看不透. 3. INSTALL FILES b) Then copy all execut ...

  8. dcmtk在PACS开发中的应用(基础篇) 作者:冷家锋 第四章 工作列表(Work List)(二)...

    第四章 工作列表( Work List )(二) 1 .目的 书接前文:http://blog.csdn.net/pachleng/archive/2010/08/10/5800513.aspx,自定 ...

  9. dcmtk在PACS开发中的应用(基础篇) 作者:冷家锋 第三章 工作列表(Work List)(一)...

    第三章 工作列表( Work List )(一) 1 .目的 在工作站上登记患者,影像设备通过 DICOM 标准中的 Work List 获取登记的患者信息. 2 .实验平台 Windows XP P ...

  10. DCMTK之MPPS服务实现

    DCMTK之MPPS服务实现 前 言 放射科信息管理系统(Radiology InformationSystem, RIS)与图像传输与归档系统[1](Picture Archivingand Com ...

最新文章

  1. faiss(1):简介 安装 与 原理
  2. intelij idea启动之谜
  3. arm-linux-ld: cannot find -lgcc,/arm-linux-gnueabi/bin/ld: cannot find crt1.o
  4. filesystemwatch java_C#方法的委托和java中的回调
  5. JAVA代码实现按列表中元素的时间字段排序
  6. 华为云上可订阅F5_F5亮相华为云计算大会 解读云应用交付
  7. 在进行了解JAVA CLASS文件解析时必须要明白的三个概念
  8. Matplotlib常用绘图示例
  9. 啊哈C语言课后练习题
  10. 这16个数据可视化案例,惊艳了全球数据行业
  11. 汉字识别原理、方法与实现
  12. 全日制大专计算机专业一天几节课,大学一节课多长时间 一天上几节
  13. word2019 分页、分节(即分节符下的分页)、页码、页眉设置最佳实践
  14. Java实现一个打飞机的小游戏【附源码】
  15. 什么是MIT开源协议
  16. php面试题和答案整理
  17. 计算机excel公式2010,计算机二级Office2010Eexcel公式汇总
  18. js 12:00时间加上半小时,返回小时和分钟
  19. lil9341_使用Python评估Lil John的“拒绝接受什么”
  20. Spring Boot Security - Remember Me示例

热门文章

  1. spring boot 设置启动时初始化DispatcherServlet
  2. JavaWeb:(练习)十二、简单的学生管理系统
  3. 这 26个中国式创新,征服了全世界
  4. 【转载】使用微博API接口获取数据
  5. 计算机新建文件夹的步骤打开,如何制作文件夹!(新建文件夹的操作步骤)
  6. Anylogic------------数据库
  7. QCA-WIFI无线芯片介绍
  8. 台达伺服控制器接线图_伺服电机如何接线图
  9. 华为手机字体改简体_华为手机字体怎么更换简体
  10. 手模手教你装 文能黑苹果,武可3A游戏大作的2400块主机