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

 

觉得对您有帮助,欢迎打赏(打赏码在文末),欢迎切磋。

博客不常来,评论不一定都能看到,看到了我会尽力回复(更新于2019年7月26日)

第三章 工作列表(Work List)(一)

1 、目的

在工作站上登记患者,影像设备通过DICOM标准中的Work List获取登记的患者信息。

2 、实验平台

Windows XP Professional SP2,其他 Windows系统笔者未验证,希望验证过的朋友添加进来。

3 、前置条件

    在您的电脑上新建文件夹如下

C:/PACS,用于存放相关文档

C:/DCMTK,用于存放dcmtk工具包及源代码

C:/DICOM,

C:/DICOM/Worklist,用于存放工作列表测试所需的文件。

C:/DICOM/Worklist/wlistdb/OFFIS,用于存放工作列表文件数据库;

C:/DICOM/Worklist/wlistqry,用于存放工作列表查询文件。

4、所需工具

1)dcmtk中wlmscpfs.exe、findscu.exe、dcmdump.exe,dump2dcm.exe

      已编译的 dcmtk工具包下载链接:

ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk354/bin/dcmtk-3.5.4-win32-i386.zip

下载预编译的 Dcmtk工具包至 C:/DCMTK,并解压,解压后的目录为 C:/DCMTK/dcmtk-3.5.4-win32-i386。

将wlmscpfs.exe、findscu.exe、dcmdump.exe,dump2dcm.exe拷贝至%windir%,一般为C:/Windows,这样我们的命令行可以随时运行这些程序。

2)请至以下链接下载测试用的工作列表文件,不需积分:

       https://download.csdn.net/download/pachleng/2608448

解压后,将wlistqry.wl拷贝至C:/DICOM/Worklist/wlistqry;

将wklist.wl拷贝至C:/DICOM/Worklist/wlistdb/OFFIS。

5 、前置知识

    要完成本节的实验,您得具备Windows系列操作系统的使用经验,具备命令行方式程序的使用经验则更好。

6 、实验步骤

       1)启动wlmscpfs

    启动 cmd.exe,依次键入以下命令

C:>cd C:/DICOM/Worklist

C:/DICOM/Worklist>wlmscpfs.exe -dfr -dfp wlistdb 104 (命令到此结束,注意大小写),将出现类似如下的提示,否则,请检查您的操作步骤:

$dcmtk: wlmscpfs v3.5.4 2005-12-20$

 

(notice: dcmdata auto correction disabled.)   

2)查询患者信息

再启动一个cmd.exe,依次键入

C:/>cd C:/DICOM/Worklist

C:/DICOM/Worklist>findscu127.0.0.1 104 wlistqry/wlistqry.wl -aec OFFIS(命令到此结束,注意大小写)

如果一切正常,在将出现类似如下的提示

RESPONSE: 1 (Pending)

 

# Dicom-Data-Set

# Used TransferSyntax: LittleEndianExplicit

(0008,0050) SH [00009 ]                                 #   6, 1 AccessionNumber

 

(0010,0010) PN [MOZART^WOLFGANG^AMADEUS ]               #  24, 1 PatientsName

(0010,0020) LO [MWA484763 ]                             # 10, 1 PatientID

(0010,0030) DA [17911205]                               #   8, 1 PatientsBirthDa

te。

……

这些显示内容应该比较好懂,#号后的内容为注释。

比如(0010,0010) PN[MOZART^WOLFGANG^AMADEUS ]              #  24, 1 PatientsName

其中,(0010,0010) PN为DICOM标准中“患者姓名”字段的字段名,MOZART^WOLFGANG^AMADEUS为患者姓名。#  24, 1 PatientsName是这个字段的注释。

7、影像设备查询工作列表

1)按照 3和 4的描述,在您的电脑上部署好目录和工具,通过交换机或者HUB将您的电脑和相机进行连接,并将您电脑的IP设置为与相机在同一个网段,比如:

影像设备IP:192.168.1.10

则您电脑IP:192.168.1.11

具体如何设置可以上网查询,或者联系系统管理员。

2)咨询您的系统管理员或者设备维护厂商,在影像设备上添加Worklist节点,节点属性如下:

IP:192.168.1.11(根据您电脑的实际情况修改)

Port:104

AETitle:OFFIS

3)在您的电脑上启动 cmd.exe,依次键入命令

C:>cdC:/DICOM/Worklist

C:/DICOM/Worklist>wlmscpfs.exe -dfr -dfp  wlistdb 104(命令到此结束)

咨询系统管理员如何在影像设备上获取工作列表,如无意外,您的影像设备应获取到“姓名”为MOZART^WOLFGANG^AMADEUS的患者信息。如果还没有,仔细检查上述步骤。

8、总结

       1、命令解释

       wlmscpfs.exe-dfr -dfp  wlistdb 104

       -dfr表示接受字段不完整的DICOM文件作为查询内容;

       -dfp wlistdb 表明wlmscpfs.exe搜索的文件夹的路径,可以为绝对路径;

       104  为工作列表程序的端口号;

       wlistdb文件夹下的OFFIS表示AETITLE。

       2、应用为王,如果过程中有不懂的地方,可以先跳过,实验成功就是胜利,如有不清楚,欢迎讨论,共同提高。

       3、评论中有网友提到lockfile的问题

           (1)这个文件的路径应为: wlistdb\OFFIS\lockfile  检查一下是否有这个文件,如果没有可以用记事本新建文件,注意不要扩展名。

           (2)怎么建没有扩展名的文件,首先要打开我的电脑(计算机或者任一个文件夹,然后 工具--文件夹选项--查看--隐藏已知文件类型的扩展名--去掉前面的勾

           (3)这个文件存在的必要性:dcmtk中提供的查询患者的“数据库”为文件型数据库,是为了通用性,不受具体数据库的约束。真正投入实用的PACS系统,需要生产型数据库,比如mysql、MS Sql Server、Oracle等。lockfile字面翻译就是文件锁,到了数据库中就对应数据库锁了。

 

     下一节将说明“如何自定义患者信息”,敬请期待:

http://blog.csdn.net/pachleng/archive/2010/08/20/5827232.aspx

==打赏码如下。感谢打赏,欢迎切磋。打赏前会让您多看几遍文章,有更多地思考===============================

有意向下一步推出基于dcmtk实现一个具体mini PACS,将分享编程工具和代码,具体看网友反馈吧,敬请期待。

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 38
    评论
### 回答1: DCMTK是一种开源的医学影像处理工具包,可以用于与医学图像存档和通信系统(PACS)进行通信,从PACS拉取数据。PACS是一种用于存储、检索、传输和共享医学影像的系统,包括医学图像的获取、存储、显示和管理等功能。 要从PACS拉取数据,首先需要使用DCMTK创建一个DICOM网络连接并进行身份验证。这可以通过指定PACS的地址、端口和相关的用户凭据来实现。一旦连接建立,就可以发送DICOM查询请求到PACS,以获取感兴趣的图像或患者数据。 DICOM查询请求可以基于不同的搜索标准,如患者姓名、ID、检查日期等。一旦查询请求发送到PACS,它将返回与查询条件匹配的图像或患者数据。 DCMTK提供了丰富的API和工具,可以处理从PACS返回的DICOM图像数据。可以使用DCMTK将DICOM图像保存到本地存储设备,或者将其加载到内存进行进一步的处理和分析。 DCMTK还支持DICOM网络通信协议,用于与PACS进行图像传输。它可以将DICOM图像从PACS下载到本地计算机,以供离线分析或进一步处理。 总结来说,DCMTK可以作为一个功能强大的工具包,用于与PACS进行通信,从PACS拉取医学影像数据。它提供了灵活的查询和图像传输功能,可以支持各种医学图像处理和分析任务。 ### 回答2: dcmtk是一个开源的医学影像处理工具包,它也可以用于从PACS(Picture Archiving and Communication System,影像存档与通信系统)拉取数据。 在使用dcmtk进行PACS数据拉取时,首先我们需要了解PACS的基本工作原理。PACS是一种医学影像管理系统,它通过网络连接医疗设备、影像诊断工作站和存储服务器,实现医学影像的传输、存储和共享。PACS的数据通常以DICOM(Digital Imaging and Communications in Medicine,医学数字成像与通信)格式进行存储。 接下来,我们可以使用dcmtk的DcmSCP(DICOM Service Class Provider)工具来作为PACS服务的提供者,用于接收外部请求并提供DICOM数据。配置好DcmSCP后,它可以监听PACS的特定端口,并等待来自外部设备的请求。当有请求发生时,DcmSCP就可以将保存在PACS的DICOM数据提供给请求方。 而作为数据拉取方,我们可以使用dcmtk的DcmQR(DICOM Query/Retrieve)工具。通过DcmQR,我们可以向PACS发送特定的查询请求,以获取我们需要的DICOM数据。查询请求的信息可以包括患者ID、检查日期、检查类型等等。一旦查询请求被PACS接收并处理,PACS将会返回满足查询条件的DICOM数据给DcmQR工具。然后,DcmQR将会将这些数据保存到本地存储设备,我们就可以在本地进行进一步的处理和分析。 使用dcmtkPACS拉取数据需要我们进行一定的配置和编程操作,确保与PACS的正确连接和数据传输。这里仅仅是对dcmtkPACS拉取数据的过程进行一个简单的介绍,具体的操作和细节还需要根据实际情况进行具体分析和实施。 ### 回答3: DCMTK是一个开源的医学影像和通信工具包,用于处理DICOM(医学影像和通信)文件。通过使用DCMTK,可以从PACS(医学图像和通信系统)拉取数据。 要从PACS拉取数据,首先需要建立与PACS的连接。可以使用DCMTK的一些工具和库函数来完成这一操作。例如,可以使用DCMTK的`findscu`命令行工具来发送C-FIND请求,以找到特定患者、检查或图像的DICOM对象。使用命令行的方式,可以通过指定PACS的IP地址、端口号、查询条件等信息来发送请求。 使用DCMTK进行PACS数据检索的另一个选项是使用DCMTK库函数编写自定义的应用程序。通过编写代码,可以使用DCMTK提供的API来建立与PACS的连接并发送C-FIND请求。通过对返回的结果进行解析和处理,可以获取所需的DICOM文件。 一旦与PACS建立成功,并成功发送了相应的请求,PACS将返回DICOM对象的元数据。DCMTK提供了一些工具和库函数来处理和解析DICOM文件,例如`dcm2xml`可以将DICOM文件转换为XML格式,`dcm2jpg`可以将DICOM文件转换为JPEG格式的图像。这样,可以根据需要将DICOM文件保存到本地计算机或者进行进一步的分析和处理。 综上所述,通过使用DCMTK,可以方便地从PACS拉取DICOM数据。无论是通过命令行工具还是编写自定义应用程序,DCMTK提供了一些工具和库函数来建立与PACS的连接并发送请求,然后处理返回的数据。这样,我们可以获取所需的DICOM文件并进行后续的处理和分析。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pachleng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值