热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Dcmtk在PACS开发中的应用(基础篇)第一章与影像设备互连(BY冷家锋)

Dcmtk在PACS开发中的应用作者:冷家锋声明:引用时请注明出处,如需商业引用,请与作者联系。第一章与影像设备互连P

DcmtkPACS开发中的应用

作者:冷家锋

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

第一章与影像设备互连

       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)dcmtkstorescp.exestorescu.exedcm2pnm.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.dcmct.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:>cd C:/DICOM/Dest

C:/DICOM/Dest>storescp.exe  104

       3)发送影像

       再启动一个cmd.exe,键入

C:/>storescu.exe 127.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:>cd C:/DICOM/Dest

C:/DICOM/Dest>dcm2pnm.exe +ob CT.1.2.840.113704.9.4021.3.1.1.200927949440 CT.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.exeDcmtk工具包中用于接收DICOM影像并进行保存的服务端程序,store是个英文单词(废话一句;-)),表保存;scp是指Service Class Provider,字面意思为服务类提供者,即DICOM标准中所说的服务端程序。

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

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

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

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

8、与影像设备互连

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

      影像设备IP:192.168.1.10

      则您电脑IP:192.168.1.11

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

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

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

      cdC:/DICOM/Dest

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

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

 


推荐阅读
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • OpenCV4.5.0+contrib编译流程及解决错误方法
    本文介绍了OpenCV4.5.0+contrib的编译流程,并提供了解决常见错误的方法,包括下载失败和路径修改等。同时提供了相关参考链接。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 突破MIUI14限制,自定义胶囊图标、大图标样式,支持任意APP
    本文介绍了如何突破MIUI14的限制,实现自定义胶囊图标和大图标样式,并支持任意APP。需要一定的动手能力和主题设计师账号权限或者会主题pojie。详细步骤包括应用包名获取、素材制作和封包获取等。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • VSCode快速查看函数定义和代码追踪方法详解
    本文详细介绍了在VSCode中快速查看函数定义和代码追踪的方法,包括跳转到定义位置的三种方式和返回跳转前的位置的快捷键。同时,还介绍了代码追踪插件的使用以及对符号跳转的不足之处。文章指出,直接跳转到定义和实现的位置对于程序员来说非常重要,但需要语言本身的支持。以TypeScript为例,按下F12即可跳转到函数的定义处。 ... [详细]
author-avatar
永恒多一天_313
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有