(桂林电子科技大学,广西 桂林 541004)
医学图像存档与通信系统(picture archiving and communication systems,PACS)是近年来随着数字图像技术、计算机技术和网络技术的进步而迅速发展起来、旨在全面解决医学图像的获取、显示、存储、传送和管理的综合系统。PACS系统的实现必须建立在DICOM标准的基础上,DICOM是医学数字图像和通信标准,它可使医学图像设备的制造厂商和用户在标准网络上实现设备互连,便利了各类型医学图像的开发和应用,是目前国际国内研究开发的热点。而 DCIOM图像的传输与存取是实现PACS系统的关键环节。为了实现不同医疗设备之间的互联,DICOM标准定义了基于ISOPOSI网络模型和TCPPIP网络模型的网络通信协议和消息交换机制。DICOM影像标准是ACR和NEMA联合组成委员会,在参考了其他相关国际标准(CNET251、JIRA、IEEE、HL7、ANSI等)的基础上,联合推出的医学数字图像存储与通信标准,到1993年发布的DICOM标准3.0,已发展成为医学影像信息学领域的国际通用标准。这个标准主要规定了DICOM信息对象的定义,DICOM数据结构,以及编码方式和通信规程。
DICOM通讯协议基于TCP/IP协议之上,主要完成OSI的会话层、表示层和应用层的部分功能。而上层的DICOM应用实体则利用DICOM通讯所提供的服务,完成医学图像系统的功能。要完成上述功能的实现,技术非常复杂,但利用DicomObjects能够进行快速开发。DicomObjects控件库是由英国Medical Connections公司开发,使开发人员能快速,轻松地开发DICOM功能的产品,而无需了解DICOM标准的复杂性。DicomObjects 开发框架适于开发符合DICOM标准的图像处理应用程序的架构,它提供了如下功能:(1)高性能的图像显示和操作。(2)可以运用网络进行图像和数据传输。(3)提供DICOM接口和Windows接口对图像进行打印。(4)包括存储和添加各种图像效果的规范化的方法。(5)提供方法用于从设备中获取图像、从非DICOM标准的图像或从外部存储介质中导入的数据中生成新的符合DICOM标准的图像数据。(6)提供SCP、SCU服务让用户对DICOM文件进行远程传输和接收。
PACS是医院放射科或医院以及更大范围医院图象管理系统。图像主要来源于各种各样的医学图像成象设备如CT、MRI和B超等。完整的PACS可分为医学图象获取、大容量数据存贮、图象显示和处理、数据库管理及用于传输影像的局域和广域网络等5个单元组成。传输与处理均采用DICOM标准。DICOM采用面向对象的思想定义了信息对象定义(IOD)、服务对象对等基本概念和数据结构。DICOM应用实体是运行在客户机朋及务器之上的,在DICOM中分别被定义为服务使用者(SCU)/服务提供者(SCP)。PACS系统基本流程如图1所示,各部分的角色(客户/服务器)的架构如图2所示。
图1 PACS基本流程
图2 SCU/SCP的架构
DicomObjects SDK提供了很多类,但是较为常用的基础类有以下几个:(1)DicomImage类:可以实例化DICOM图像文件的基础类。(2)DicomViewer类:为现实DICOM图像文件提供一个可视化的控件。(3)DicomLabel类:提供在DicomViewer上对DICOM图像添加各种注释和图形注释的类。(4)DicomDataSet类:提供对DICOM文件数据集的访问和修改的基础类。
DicomObjects开发框架在对服务器中存储的图像文件进行图像处理的过程中,提供了DicomLabel和DicomImage类进行DICOM文件的图像处理。其中DicomLabel类的作用是提供要在DICOM文件上进行图像处理的标签(如直线、文字注释、矩形区域等)的绘制方法和实例对象,而DicomImage类的作用是服务器中的DICOM文件和读取的DICOM文件进行实例化,并且提供涉及DICOM文件的图像格式、输出、读取、写入、矩阵设置、设置简单掩膜等基本的DICOM图像操作方法。
针对于放射科业务的需要,一般都要求Dicom图像浏览软件需要影像信息的调阅,多种窗格形式显示,方便的调窗功能,窗宽、窗位调整、CT值,亮度、对比度、反转、旋转、平移、缩放,图像的测量及标注功能,包括长度、角度、矩形、圆面积等项目的测量,文字、箭头等信息的标注,扫描定位线的显示等。
实现步骤及代码:
(1)从工具菜单栏中,选择DicomView 控件放入
(2)实现多种窗格显示 ,如:1*1,2*2,3*3,4*4,代码
(3)调窗功能,窗宽、窗位调整
(4)放大缩小
其他功能的实现可以参考DicomObjects的帮助文件。具体效果如图3所示:
图3 图像浏览界面
发送/存储服务类提供在对等应用实体之间方便简单传输图像的服务,这项服务类就是容许一方应用实体向另一方对等实体发送图像。两个对等实体在实现发送存储服务的SOP类中,一方SCU角色,另一方是SCP角色。存储服务类的SOP类通过使用C-STORE服务类实现。
实现步骤及代码:
需要一个DicomImage(或DicomDataSet )的发送方法,这需要四个参数:
(1)IP地址或SCP的其他可解析的网络名称
(2)在其上的SCP监听的端口号
(3)SCP的应用实体标题(AET)
(4)SCU的AET
SCU程序:
DICOM将一个Worklist定义为一个结构,用来表征相关任务集合的信息。Worklist详细描述每个任务的精确细节,包含执行任务的选择与任务的执行过程。DICOM标准规定,Worklist 主要用于RIS、PACS、数字化医疗设备之间工作流信息的传输,主要包含患者的人口统计学信息、检查设备、检查任务以及相应的管理信息等。工作流信息的传输为PACS、RIS和数字化成像设备之间的信息交互提供了标准手段,同时可减少手工录入等误操作以避免患者信息输入错误,并合理安排成像设备的检查人次以减轻医护人员的劳动强度。
实现步骤及代码:
SCU程序:
查询/提取服务类提供了对等应用实体之间方便简捷的图象管理服务,标准支持的查询。
查询/提取服务类还提供了取回和传输图象集合的功能。这个功能容许一个应用实体向对等
实体要求传回图像或者触发远方对等实体向第三方对等实体发送图象。执行查询/提取服务类的SOP类的两个对等实体,一方为 SCU,另一方为 SCP,SOP类。查询/检索使用DicomQuery。主要有三种方法中,对应于DICOM Q / R的程序:
(1)DoQuery:C-FIND;(2)GetImages:C- GET;(3)GetUsingMove:C-MOVE。所有这些方法的工作使一个关联到远程计算机(SCP),所有需要以下4个属性进行设置正确:
· Node∶IP地址或SCP的其他可解析的网络名称
· Port∶ 端口:端口号在其上的SCP监听
· CalledAE∶ SCP的应用实体标题(AET)
· CallingAE∶您要拨打此操作您的应用程序的AET DICOM支持查询/检索层次结构∶PATIENT病人,STUDY研究,PATIENT/STUDY患者/研究。
构造查询条件可以包括· 出生年月DateOfBirth,性别PatientID,检查ID StudyUID等。
实现步骤及代码:
打印到一个DICOM打印机和打印到Windows打印机是完全不同的操作,但两者都可以使用DicomObjects。由于多个可能的布局的变化,原生的DICOM打印是一个复杂的过程,在DicomObjects4版本已经使这个整个过程中大量简单,使用新的DicomPrint对象。
需要指定打印机的Ip地址,服务端口,AET。
实现步骤及代码:
本文参照DICOM标准,使用DicomObjects控件,完成了常用的PACS系统服务的开发,结合PACS的主要流程,完成了图像显示,浏览,存储,发送,打印并取得了较好的效果。大大缩减时间,提升开发效率。如果要进一步开发,需要加深对DicomObjects开发包的理解。病人信息存储,或者是诊断报告还需要和数据库的连接,可以进一步开发。
[1]唐占红,刘瑞玲.递归读取 DICOM 嵌套数据集的方法及实现[J].微计算机信息,2011(03).
[2]吕晓琪,范运洲.基于 DICOM 标准的医学图像的显示方法研究[J].内蒙古科技大学学报,2009(04).
[3]王辅之.一种 DICOM 图像数据库储存系统的设计与实现[J].现代计算机(专业版),2010(01).
[4]林红利,陈真诚,王伟胜.DICOM 医学图像显示算法改进与实现[J].计算机系统应用,2010(06).
[5]黄敏,冯鑫.单帧DICOM 医学图像的解读方法及 VC实现[J].中南民族大学学报(自然科学版),2010(02).
[6]王龙,王冬星.基于 DICOM 的医学图像存储与处理系统的实现[J].电脑学习,2010(04).
[7]李清美.DICOM 格式医学图像的读取与显示[J].泰山医学院学报,2010(08).
[8]石晓磊,王明泉.DICOM图像格式与BMP图像格式的转换[J].微计算机信息,2010(26).
[9]王伟蔚,张国鹏,邱顶,廖琪梅,陈武凡,卢虹冰.基于DICOM 文本与内容的医学图像检索系统研究[J].计算机工程与设计,2011(03).
[10]胡宝梅,朱俊,李久楷,黄鑫.基于DICOM医学图像的传输和查询系统的设计[J].中国医学物理学杂志,2009(02).