Dcmtk在PACS开发中的应用

作者:冷家锋 

声明:引用时请注明出处,如需商业引用,请与作者联系。

第一章 与影像设备互连

PACS(PictureArchiving and Communication System),译为医学影像归档与通讯系统,关于该名词更多详细的解释,请参考网络。

一、接收影像

1、目的:接收影像设备发送的影像,并显示。

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

3、前置条件

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

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

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

C:/DICOM,

C:/DICOM/Source用于存放实验过程中用到的源图片

C:/DICOM/Dest,用于存放实验过程中接收到的图片,如接收的图片

4、所需工具:

1)dcmtk中storescp.exe、storescu.exe、dcm2pnm.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。

2)DICOM(Digital Imaging and Communication in Medicine)图片,链接为本人的资源,不需积分:http://download.csdn.net/source/2218931  将下载到图片拷贝至C:/DICOM/Source文件夹并解压,解压后的目录为C:/DICOM/Source/CT01,包含文件CT.dcm和ct.bmp。

5、前置知识

要完成本节的实验,您得具备Windows系列操作的使用经验,具备命令行方式程序的使用经验则更好,当然不具备后者的使用经验也没关系,跟着笔者的脚步我们一起来学习它,没想象中的那么难;-)。在本文中,新手朋友们可能会遇到很多不熟悉的名词,Take it easy,我们的宗旨是【应用为王】,先撇开它们,书读百遍,其义自现嘛。

6、实验步骤

1)将C:/DCMTK/dcmtk-3.5.4-win32-i386/bin目录下的所有exe文件拷贝至%windir%(一般为您的硬盘中C:/Windows文件夹)。这样我们的命令行解释器(下文简称cmd.exe,可以通过“开始”à运行à输入”cmd.exe”à确定来启动)启动后,处于任何一个当前目录,都可以使用dcmtk工具包。

2)启动storescp

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

C:>cdC:/DICOM/Dest

C:/DICOM/Dest >storescp.exe104

3)发送影像

再启动一个cmd.exe,键入

C:/>storescu.exe127.0.0.1 104 C:/DICOM/Source/CT1/CT.dcm

如果一切正常,在目录C:/DICOM/Dest将出现文件CT.1.2.840.113704.9.4021.3.1.1.200927949440,文件名有点长,不是吗?

4)启动cmd.exe,依次键入以下命令,将DICOM文件转换为bmp文件。

C:>cdC:/DICOM/Dest

C:/DICOM/Dest> dcm2pnm.exe +ob CT.1.2.840.113704.9.4021.3.1.1.200927949440CT.1.2.840.113704.9.4021.3.1.1.200927949440.bmp

然后,双击打开CT.1.2.840.113704.9.4021.3.1.1.200927949440.bmp,将看到一张典型的肺部平扫的CT图片。

7、与影像设备互连初步

有读者朋友问了,到此为止,你都没有提到影像设备的事,你做了以上一大堆事情到底有什么意义呢?笔者想说的是意义太大了,通过以上实验,您已经跨入PACS开发的大门,列位看官莫急,且听笔者慢慢道来。

让我们在6中的实验基础上学习一个稍微复杂点的命令先。

启动cmd.exe,键入

C:>storescp.exe –aet myaet 104

下面,笔者对这个命令做点解释:

1)如名称所示,storescp.exe是Dcmtk工具包中用于接收DICOM影像并进行保存的服务端程序,store是个英文单词(废话一句;-)),表保存;scp是指Service Class Provider,字面意思为服务类提供者,即DICOM标准中所说的服务端程序。

2)-aet myaet中的aet为Application Entity Title,翻译为中文:应用程序实体标题,有点生硬,呵呵;-aet myaet意即设置storescp.exe的AET为myaet。

3)104,指该服务程序监听的端口,具备网络基础的朋友们可能会了解端口的意义,不清楚的朋友可以先跳过,【应用为王】嘛。

这个稍微复杂点的命令先解释到这,如果您有点云里雾里,没关系,多看几遍,或者先放过意义的理解,随着后面和笔者一起学习,一定会理解的,自信和耐心是我们学习的首要条件。

到此,有机会实际接触医院影像科设备的朋友已经可以自信的说:我可以接收影像设备发送的影像了!

8、与影像设备互连

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

影像设备IP:192.168.1.10

则您电脑IP:192.168.1.11

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

2)将您电脑的IP(此处假定为192.168.1.11,请根据实际情况)、端口(104)、AET(myaet)告知影像设备维护人员(什么?您就是影像设备维护人员,那太好了),并请影像设备维护人员在影像设备上添加到您电脑的接收节点。

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

C:/DICOM/Dest

C:/DICOM/Dest>storescp.exe –aet myaet 104,然后请影像医师手工发送一幅影像到您的电脑节点。

OK,在C:/DICOM/Dest目录有新的影像吗?恭喜你!什么,还没有?仔细检查上述步骤,细心点,你会成功的。

转载:http://blog.csdn.net/pachleng/article/details/5465526

我最近刚开始要用DCMTK,这位兄台写的真好,原封不动的转载。

佩服这种善于总结,造福于所有IT程序员的人。

Dcmtk在PACS开发中的应用(基础篇) 第一章 与影像设备互连 作者 冷家锋相关推荐

  1. Dcmtk在PACS开发中的应用(基础篇)打印影像(胶片)

    Dcmtk在PACS开发中的应用(基础篇)打印影像(胶片) 第二章打印影像(胶片) 1 .目的:将DICOM 影像提交至相机(干式胶片打印机),并打印. 2 .实验平台:Windows XP Prof ...

  2. Dcmtk在PACS开发中的应用(基础篇) 第二章 打印影像(胶片) 作者 冷家锋

    第二章 打印影像(胶片) 1 .目的:将 DICOM 影像提交至相机(干式胶片打印机),并打印. 2 .实验平台: Windows XP Professional SP2 ,其他 Windows 系统 ...

  3. 并发编程基础篇——第一章(并发相关基础概念理解)

    其实讲到并发编程,有时候会问自己为什么要去做这些知识的积累和沉淀,可能我们做业务的在职业生涯里,并不会经常使用到这些所谓的多线程编程,顶多可能开一个线程,去执行个任务,又或者通过定时器触发某个业务,实 ...

  4. 鸟哥的Linux私房菜(基础篇)-第一章、Linux是什么(一.2. Torvalds的Linux发展)

    第一章.Linux是什么 最近更新日期:2009/08/05 2. Torvalds的Linux发展 2.1 与Minix之间 2.2 对386硬件的多任务测试 2.3 初次释出Linux 0.02 ...

  5. 鸟哥的Linux私房菜(基础篇)-第一章、Linux是什么(一.1.Linux是什么)

    第一章.Linux是什么 最近更新日期:2009/08/05 1. Linux是什么 1.1 Linux是什么 1.2 Linux之前,Unix的历史 1.3 关于GNU计划 Linux是什么 我们知 ...

  6. 穿越Java - 基础篇 第一章 快速带你入门 | 第3节 Java语言发展史

    主题:Java语言发展史 开发环境 更多干货 发展史 开发环境 基于:IntelliJ IDEA.Maven构建工具.JDK1.8.SpringBoot 2.3.4 .Spring4.3.28编写. ...

  7. 鸟哥的Linux私房菜(基础篇)-第一章、Linux是什么(一.4. 重点回顾)

    第一章.Linux是什么 最近更新日期:2009/08/05 4. 重点回顾 5. 本章习题 6. 参考数据与延伸阅读 7. 针对本文的建议:http://phorum.vbird.org/viewt ...

  8. 鸟哥的Linux私房菜(基础篇)-第一章、Linux是什么(一.3. Linux的特色)

    第一章.Linux是什么 最近更新日期:2009/08/05 3. Linux的特色 3.1 Linux的特色 3.2 Linux的优缺点 3.3 关于授权 Linux的特色 Linux是Torval ...

  9. python第一个发行版本由c语言实现_1 晓白的python逆袭之旅基础篇---第一章

    第一章 来自晓白的困惑 1人物介绍晓白:一位即将毕业,踏入社会的大学生,对自己的前途充满了困惑,对计算机编程感兴趣,想以后进入互联网行业,从事开发工作,但是不知如何开始. 老袁:晓白的学长,同时也是晓 ...

最新文章

  1. Effective stl---笔记
  2. BZOJ2822 [AHOI2012]树屋阶梯
  3. AsyncEx - async/await 的辅助库
  4. Python中参数函数内部赋值与使用+=的变量
  5. js设计一个带开关的时钟_数电题:三个按键一个灯
  6. 解决安装phpstudy之后启动Apache失败的问题
  7. pku 1463 Strategic game 树形DP
  8. 阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_2 回顾自定义mybatis的流程分析...
  9. struts(二)——struts框架实现的基本原理
  10. 内网信息收集小知识(一)
  11. Windows 10 Build 16226发布:任务管理器新增GPU追踪
  12. Java opencv tld_TLD-(windows) tld c++版可运行版本,亲测. tld OpenCV 252万源代码下载- www.pudn.com...
  13. 荣耀8一下显示无服务器,买到荣耀手机后,不打开这七个功能你就亏了!
  14. 第九章 法律责任与法律制裁
  15. 搭建个人的GPS定位系统
  16. JavaWeb-13 (购物车项目2)
  17. 蓝桥七届 搭积木 JAVA
  18. msgbox.html5.qq .com,霸道总裁之代码强势表白
  19. 记一次智能灯泡的破解
  20. Dump分析学习指令整理

热门文章

  1. [Swift实际操作]七、常见概念-(12)使用DispatchGroup(调度组)管理线程数组
  2. iOS学习笔记-retain/assign/strong/weak/copy/mutablecopy/autorelease区别
  3. 【转】Tomcat中部署java web应用程序
  4. javashop配置微信支付
  5. bufferreader java_Java - BufferedReader对比FileReader到底哪里进行了优化
  6. JSP HTTP 状态码
  7. Selenium API-WebElement 方法
  8. python numpy库安装winerror5_求问安装numpy+mkl报错FileNotFoundError: [Errno 2] No such fi
  9. 利用指针数组计算2个3行4列矩阵的和_[剑指 Offer] 04. 二维数组中的查找
  10. 从删库到跑路,就是这么迅速!程序员为了报复同事删了公司数据库