PACS中病人相关信息的显示与实现
2015-05-08周万春
周万春
摘要:医师在用PACS辅助诊断的同时,往往需要影像以外的各种信息(病人年龄,病人性别等)。首先基于DICOM标准,介绍了获得数据元素的方法,以及配置文件的设计手段,以保证程序的灵活性和可扩展性。结果表明,经过对dcm数据元素的处理显示,可以在保证原有图像正常显示的同时,增加更多的信息辅助医生诊断。
关键词:dicom;pacs;医学影像系统;配置文件
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)07-0155-04
Abstract: Diagnosing with the aid of PACS, doctors tend to get more information except images, including patients age, sex and so on. Based on DICOM.we introduce a method of acquiring data element and ensure the flexibility and expandability of application by configuration files.The result demonstrates that after processing of DCM data Element,PACS ensures the normally display of the original images.At the same time it offers doctors more information to diagnose.
Key words: dicom; pacs; physic picture system; configuration file
PACS是Picture Archiving and Communication Systems的缩写,意为影像归档和通信系统,主要用于把日常产生的各种医学影像以数字化的方式海量保存起来,以供后续使用,同时增加一些辅助诊断管理功能。随着PACS在医院的广泛应用,PACS不仅仅作为图像的归档传输工具,也成为辅助医生做病情分析的利器。但是单纯的医学影像显示不能满足医生的需求,所以在显示病人更多信息来辅助医生诊断方面,PACS的运用就显得很有必要。
1 DICOM文件结构
DICOM文件一般由一个DICOM文件头一个DICOM数据集组成,文件扩展名为dcm。
1.1 DICOM文件头
DICOM文件头包含了标识数据集合的相关信息。
每个DICOM文件都必须包括该文件头。文件头的最开始是文件前言,它由128个00H字节组成。接下来是DICOM 前缀,它是一个长度为4字节的字符串“DICM”,可以根据该值来判断一个文件是不是DICOM 文件。文件头中还包括其他一些非常有用的信息,如文件的传输格式、生成该文件的应用程序等。
1.2 DICOM数据集
一个DICOM数据集由多个数据元素(Data Element)串连组成,每个数据元素具有类似的结构,都是由标签 (Tag)、值描述 (Value Representation,VR )、值长度(Value Length)和值域(Value Field)组成,如图1所示。
数据元素标签(Tag):4字节十六进制表示,按顺序排列包括组号码和元素号码。根据(组号,元素号)的规则可以唯一定位到数据集中的某一元素,结合DICOM标准中第三章数据字典即可查看其意义。
值类型表述(VR):2Bytes的字符串,是数据元素的VR值。已给定数据元素标签的VR在数据词典中有详细定义。这两字节的VR用DICOM的默认字符集编码。
数据值长度:一个16或32bits(取决于显式或隐式VR)无符号整数,表明了准确的数据值体的长度,按字节数目(为偶数)记录。此长度不包含数据元素标签、VR、值长度字段。一个32bit的长度字段(FFFFFFFFH)表示未定义的数据值体长度。未定义长度可能被用于VR为项目序列(SequenceofItems,SQ)类型的数据元素。对于值类型为OW(OtherWordString)或OB(OtherByteString)的数据元素,未定义长度则依赖于传输句法协议。
值域表明了数据元素的值,其长度为偶数字节。该字段的数据类型是由数据元素的VR所明确定义。值多重性(ValueMultiplicity,VM)指定了该类型的数据值体中可包括的取值的数目。如果VM大于1,表明元素是多重取值的。未定义长度的数据值体通过序列定界项目界定。
值类型为CS,也就是最长为16bytes的字符串,其详细的要求可以查看DICOM标准第五章6.2值描述。
VM为1,即值个数为1个。
2 DICOM中信息的提取
基于DCMTK库,我们可以很方便快捷的获得dcm文件中某个数据元素的信息。根据组号、元素号就可以得到其对应的值类型和值。
在本文中,我们主要使用DcmFileFormat类来载入dcm文件并获取其数据元素。
4 程序的灵活性
根据上面的方法已经能够在影像周围显示annotation信息,但是当我们需要显示Patient Name时,就需要用硬编码(hard code)的形式写进程序。对显示的内容进行任何的改动都将涉及到代码的改动。显然当软件较大时这样很小的改动会造成一定的维护成本。所以从程序的灵活性角度出发,我们有必要对程序进行进一步的改进。
使程序数据持久化的方法有很多,比如关系模型、xml、二进制流等。为方便修改,我们优先考虑xml配置文件的方法。
根据xml的设计技巧及原则,们设计了以下结构,如图2所示。
可以发现上述的xml结构与类数据结构基本一致,这样既有利于后续对配置文件的修改,也有利于程序对配置文件的读取。
可以发现上述的xml结构与类数据结构基本一致,这样既有利于后续对配置文件的修改,也有利于程序对配置文件的读取。
5 实验结果
本程序基于Windows7系统和Qt5.4.0环境下运行。
图3给出了实验结果,其中,图3(b)为添加了病人图片相关annotation信息的对比图。通过图3的对比,可以明显看出,医生在查看影像的同时还能得到更多有关病人的信息,这样更有利于医生对病人病情的诊断。同时,前文中也提到配置文件的运用可以使医生定义自己感兴趣的信息,这样也方便不同科室的医生使用,因为他们可能对病人的不同信息感兴趣。
6 结束语
综上所述,本文主要介绍了以xml作为基础为PACS系统添加annotation数据结构的设计过程。但在实际的开发过程中,还有更多的关于annotation的需求,比如在跨平台开发时需要考虑到配置文件的跨平台特性,又比如不同的dcm文件类型有不同的annotation需求,这些都可以基于上面所讲述的设计过程来实现。
参考文献:
[1] 胡旭鸣.基于B/S模式的的电子病历与医学影像系统集成研究[J].计算机应用与软件,2014,31(10):1202-1306.
[2] 龚自霞,成江晨.DICOM医学影像文件的解析[J].电脑知识与技术,2011,7(28):6899-6906.
[3] 甘昕艳.基于DICOM在PACS医学影像系统中设计与实现[J].微计算机信息,2009,25(12):128-181
[4] 李亚伟,段会川.XML数据库技术[J].山东师范大学学报,2005,20(1):21-24
[5] 王恒,朱玉全,吴微.DICOM医学图像文件的信息提取及图像显示的实现[J].医疗设备信息,2007,22(9):1-3.
[6] 王江静.XML文档设计的原则和方法[J].太原师范学院学报,2005,4(3):60-74.