第19卷 第4期
2000
年 12月北京生物医学工程BeijingBiomedicalEngineeringVol119 No14Dec. 2000・论 著・
医学图像DICOM格式转换软件
的设计与实现
胡阳秋 高小榕 高上凯
清华大学电机系生物医学工程研究所(北京 100084)
摘 要 PACS(图像存档与通讯系统)应遵循DICOM(。目前国内存在大量不符合DICOM标准的影像设备,像格式之间的转换,DICOMAPI,可供Windows平台的各种编程环境使用。
关键词 PACS DI0 概 述
(picturearchivingandcommunicationsystem,简称PACS)在近年、计算机技术和通信技术的进步得到了迅速的发展。PACS实现了医学图像的获取、存储、通信、管理和显示等过程的数字化,其发展趋势是减少直至完全取代胶片。医学数字成像与通讯(digitalimagingandcommunicationinmedicine,简称DICOM)标准旨在促进医学影像设备之间的互操作性,它提供了一种用于医学信息的开放性的数据交换标准,使得不同厂商生产的设备所形成的图像的统一存档与通讯成为可能。目前,各种最新生产的
、B超、X光机等一般都遵循DICOM310标准,DICOM标准已经成为建造PACSCT、MRI
必须遵循的国际标准。
DICOM标准是图像格式的标准,也是
图像通讯的标准,它适用于点到点环境和网
络环境。符合DICOM标准的设备能够作为
独立的节点连入PACS网络,与其它符合
DICOM标准的节点进行信息交换。然而在
我国,由于历史的原因,各医院里真正符合
DICOM310标准的影像设备只占所有影像
图1 DICOM格式转换的功能设备的一部分(尽管这个比例越来越大)。大
量的老式影像设备往往只能输出胶片,或者
只有普通的视频输出,或者使用专用的图像格式。因此,目前在建设PACS的时候必须考虑到这一点。为了使现有的大量不符合DICOM的影像设备进入PACS网络,我们设计并实现了一个通用的DICOM格式转换工具包。我们在软件的设计中突出了面向对象的方法,以最大限度地与DICOM标准的设计思路相一致。本软件主要具有以下功能(图1):
(1)DICOM格式与通用图像格式(如BMP、TIFF、GIF、JPEG和AVI等)之间相互作者简介:胡阳秋(1974—),男,硕士研究生。
194・・北京生物医学工程第19卷转换;
(2)直接从标准视频输入获取图像数据并存为DICOM格式;
(3)直接从扫描仪获取图像并存为DICOM格式。
其中第一项功能使得非DICOM应用程序能够读取、显示、处理DICOM图像,第二项功能使得一些不具备DICOM接口的老式影像设备能够连入PACS网络,第三项功能使现有的胶片通过扫描就直接进入PACS。本文第二部分将介绍DICOM标准及其面向对象特点,第三部分介绍格式转换软件的设计与实现,最后是对全文的总结。
1 DICOM标准与面向对象方法
DICOM标准的前身ACR2NEMA(americancoofequipmentmanufacturerassociation)标准早在1985,,到90年代初期更名为DICOM标准,并把版本号定为310DICOM标准的正式出台,DICOM工作组(及其前身A)从其他的一些国际组织(如IEEE、HL7和ANSI等)合作与协助。
DIEMA标准的最大差别在于建立标准的模型不同。ACR2NEMA,数据元素是根据标准制订者的经验确定的。相比之下,DICOM标准基于一组显式的实体-关系模型(Entity2Relationshipmodel,简称E2R模型),这些模型详细地描述了事物(包括病人、图像和记录等)在放射科内部的操作与相互关系。使用这些模型有助于制造商和用户理解DICOM标准中的数据结构,因为它们清楚地表明了实际应用中所需要的数据元素以及这些元素之间的关系。
面向对象方法是一种系统设计的常用方法,要遵循几个原则:数据抽象,数据封装,模块化,层次化。使用面向对象方法进行软件设计有助于增强软件模块的可重用性,提高系统对设计变化的适应能力,并且在结构上清晰易懂。DICOM标准的实体-关系模型与面向对象方法有机地结合在一起。在DICOM标准中,对象是由模型定义的实体(或实体集),属性描述了对象的特性。这些对象被称为信息对象,而该模型以及属性表(属性的集合)被称为信息对象定义(IODs)。模型中的实体是抽象的,在其属性有了具体的值之后,该实体就成为一个实例(Instance)。
面向对象方法不仅描述了信息本身,同时说明了处理这些信息的方法。DICOM标准将一
)定义为服务,这些服务由不同的DICOM消息服务元素(DI些操作(如“存储图像”MSE)
组成。信息对象与特定服务的组合构成了服务-对象对(SOP)。同一信息对象与多个服务相联系,形成了SOP类。SOP类是DICOM标准的基本功能单位,由参与服务的双方构成:服务类提供者(SCP)与服务类使用者(SCU)。
通过对DICOM标准的设计模型和设计思想的分析可以看出,关系-实体模型和面向对象方法是其突出特点。例如,DICOM标准关于数据元素的抽象定义与分组有利于软件设计中的模块化。这些特点是我们在设计DICOM格式转换软件中应该注意的。
2 DICOM格式转换软件的设计与实现
211 DICOM数据格式
第4期医学图像DICOM
格式转换软件的设计与实现・195・数据集(DataSet)与对这个数据集的操作(即命令)组成了消息(Message),消息是影像设备之间相互交换的信息。消息的组成单位是数据元素(DataElement),其按照逻辑关系分成不同的组,由相应的组号标识。同一组内不同的元素具有不同的元素号,组号与元素号
表1 DICOM数据元素(无VR) 构成了数据元素的标志(Tag)。Tag
组号元素号长度值后面是类型表示(valuerepresentation,
4A6F686E736F6E5D简称VR),这是一个可选的域,是否出000E[**************]F62657274(12字节)现由传输语法决定。其后是数据元素的(Johnson^Robert)
长度与值。例如,病人的姓名就表示为表
1(十六进制数)。
关于DICOM格式目前已经有许多文章作过介绍,在此不再详述。我们在编写DICOM格式转换软件中发现有以下几个值得注意的问题:
(1)字节顺序(byteordering)
字节顺序同样有传输语法决定。:
①LittleEndian:②BitEndian:。DICOM(2)dataset)
。这样的数据集称为条目(item),往往用于重复的简单数据集,或者构成复杂IOD的folder。条目的VR(类型表示)为SQ(sequenceofitems)。如果条目中的数据元素的VR也是SQ,则构成了递归嵌套。
由于嵌套数据的存在,格式转换软件应该使用一种树型的数据结构以存储递归嵌套的数据元素,并且程序也应该具有递归遍历功能。
(3)压缩图像数据(encapsulatedpixeldata)
图像数据可以是非压缩的(nativeformat),也可以是压缩的(encapsulatedformat)。图像的编码方式也是由传输语法规定的。DICOM目前支持两种压缩方式:
①JPEG压缩,包括基于离散余弦变换(DCT)的有损(lossy)压缩和基于差分脉冲编码调制的无损(lossless)压缩。JPEG压缩图像的传输语法UID是以[***********]4开始的。
②游程编码(RLElossless),传输语法UID为[***********]215。
(4)光度表示(photometricinterpretation)
光度表示规定了图像的显示特性,常见的值有:
①MONOCHROME1:灰度图像,象素最小值显示为白色;
②MONOCHROME2:灰度图像,象素最小值显示为黑色;
③RGB:RGB彩色图像;
④HSV:HSV彩色图像;
⑤PALLETECOLOR:使用调色板的彩色图像。
此外还有ARGB、CMYK、YBR-FULL等。格式转换软件在输出图像数据时,必须根据光度表示进行调整。
212 软件结构
98
第19卷 第4期
2000
年 12月北京生物医学工程BeijingBiomedicalEngineeringVol119 No14Dec. 2000・论 著・
医学图像DICOM格式转换软件
的设计与实现
胡阳秋 高小榕 高上凯
清华大学电机系生物医学工程研究所(北京 100084)
摘 要 PACS(图像存档与通讯系统)应遵循DICOM(。目前国内存在大量不符合DICOM标准的影像设备,像格式之间的转换,DICOMAPI,可供Windows平台的各种编程环境使用。
关键词 PACS DI0 概 述
(picturearchivingandcommunicationsystem,简称PACS)在近年、计算机技术和通信技术的进步得到了迅速的发展。PACS实现了医学图像的获取、存储、通信、管理和显示等过程的数字化,其发展趋势是减少直至完全取代胶片。医学数字成像与通讯(digitalimagingandcommunicationinmedicine,简称DICOM)标准旨在促进医学影像设备之间的互操作性,它提供了一种用于医学信息的开放性的数据交换标准,使得不同厂商生产的设备所形成的图像的统一存档与通讯成为可能。目前,各种最新生产的
、B超、X光机等一般都遵循DICOM310标准,DICOM标准已经成为建造PACSCT、MRI
必须遵循的国际标准。
DICOM标准是图像格式的标准,也是
图像通讯的标准,它适用于点到点环境和网
络环境。符合DICOM标准的设备能够作为
独立的节点连入PACS网络,与其它符合
DICOM标准的节点进行信息交换。然而在
我国,由于历史的原因,各医院里真正符合
DICOM310标准的影像设备只占所有影像
图1 DICOM格式转换的功能设备的一部分(尽管这个比例越来越大)。大
量的老式影像设备往往只能输出胶片,或者
只有普通的视频输出,或者使用专用的图像格式。因此,目前在建设PACS的时候必须考虑到这一点。为了使现有的大量不符合DICOM的影像设备进入PACS网络,我们设计并实现了一个通用的DICOM格式转换工具包。我们在软件的设计中突出了面向对象的方法,以最大限度地与DICOM标准的设计思路相一致。本软件主要具有以下功能(图1):
(1)DICOM格式与通用图像格式(如BMP、TIFF、GIF、JPEG和AVI等)之间相互作者简介:胡阳秋(1974—),男,硕士研究生。
194・・北京生物医学工程第19卷转换;
(2)直接从标准视频输入获取图像数据并存为DICOM格式;
(3)直接从扫描仪获取图像并存为DICOM格式。
其中第一项功能使得非DICOM应用程序能够读取、显示、处理DICOM图像,第二项功能使得一些不具备DICOM接口的老式影像设备能够连入PACS网络,第三项功能使现有的胶片通过扫描就直接进入PACS。本文第二部分将介绍DICOM标准及其面向对象特点,第三部分介绍格式转换软件的设计与实现,最后是对全文的总结。
1 DICOM标准与面向对象方法
DICOM标准的前身ACR2NEMA(americancoofequipmentmanufacturerassociation)标准早在1985,,到90年代初期更名为DICOM标准,并把版本号定为310DICOM标准的正式出台,DICOM工作组(及其前身A)从其他的一些国际组织(如IEEE、HL7和ANSI等)合作与协助。
DIEMA标准的最大差别在于建立标准的模型不同。ACR2NEMA,数据元素是根据标准制订者的经验确定的。相比之下,DICOM标准基于一组显式的实体-关系模型(Entity2Relationshipmodel,简称E2R模型),这些模型详细地描述了事物(包括病人、图像和记录等)在放射科内部的操作与相互关系。使用这些模型有助于制造商和用户理解DICOM标准中的数据结构,因为它们清楚地表明了实际应用中所需要的数据元素以及这些元素之间的关系。
面向对象方法是一种系统设计的常用方法,要遵循几个原则:数据抽象,数据封装,模块化,层次化。使用面向对象方法进行软件设计有助于增强软件模块的可重用性,提高系统对设计变化的适应能力,并且在结构上清晰易懂。DICOM标准的实体-关系模型与面向对象方法有机地结合在一起。在DICOM标准中,对象是由模型定义的实体(或实体集),属性描述了对象的特性。这些对象被称为信息对象,而该模型以及属性表(属性的集合)被称为信息对象定义(IODs)。模型中的实体是抽象的,在其属性有了具体的值之后,该实体就成为一个实例(Instance)。
面向对象方法不仅描述了信息本身,同时说明了处理这些信息的方法。DICOM标准将一
)定义为服务,这些服务由不同的DICOM消息服务元素(DI些操作(如“存储图像”MSE)
组成。信息对象与特定服务的组合构成了服务-对象对(SOP)。同一信息对象与多个服务相联系,形成了SOP类。SOP类是DICOM标准的基本功能单位,由参与服务的双方构成:服务类提供者(SCP)与服务类使用者(SCU)。
通过对DICOM标准的设计模型和设计思想的分析可以看出,关系-实体模型和面向对象方法是其突出特点。例如,DICOM标准关于数据元素的抽象定义与分组有利于软件设计中的模块化。这些特点是我们在设计DICOM格式转换软件中应该注意的。
2 DICOM格式转换软件的设计与实现
211 DICOM数据格式
第4期医学图像DICOM
格式转换软件的设计与实现・195・数据集(DataSet)与对这个数据集的操作(即命令)组成了消息(Message),消息是影像设备之间相互交换的信息。消息的组成单位是数据元素(DataElement),其按照逻辑关系分成不同的组,由相应的组号标识。同一组内不同的元素具有不同的元素号,组号与元素号
表1 DICOM数据元素(无VR) 构成了数据元素的标志(Tag)。Tag
组号元素号长度值后面是类型表示(valuerepresentation,
4A6F686E736F6E5D简称VR),这是一个可选的域,是否出000E[**************]F62657274(12字节)现由传输语法决定。其后是数据元素的(Johnson^Robert)
长度与值。例如,病人的姓名就表示为表
1(十六进制数)。
关于DICOM格式目前已经有许多文章作过介绍,在此不再详述。我们在编写DICOM格式转换软件中发现有以下几个值得注意的问题:
(1)字节顺序(byteordering)
字节顺序同样有传输语法决定。:
①LittleEndian:②BitEndian:。DICOM(2)dataset)
。这样的数据集称为条目(item),往往用于重复的简单数据集,或者构成复杂IOD的folder。条目的VR(类型表示)为SQ(sequenceofitems)。如果条目中的数据元素的VR也是SQ,则构成了递归嵌套。
由于嵌套数据的存在,格式转换软件应该使用一种树型的数据结构以存储递归嵌套的数据元素,并且程序也应该具有递归遍历功能。
(3)压缩图像数据(encapsulatedpixeldata)
图像数据可以是非压缩的(nativeformat),也可以是压缩的(encapsulatedformat)。图像的编码方式也是由传输语法规定的。DICOM目前支持两种压缩方式:
①JPEG压缩,包括基于离散余弦变换(DCT)的有损(lossy)压缩和基于差分脉冲编码调制的无损(lossless)压缩。JPEG压缩图像的传输语法UID是以[***********]4开始的。
②游程编码(RLElossless),传输语法UID为[***********]215。
(4)光度表示(photometricinterpretation)
光度表示规定了图像的显示特性,常见的值有:
①MONOCHROME1:灰度图像,象素最小值显示为白色;
②MONOCHROME2:灰度图像,象素最小值显示为黑色;
③RGB:RGB彩色图像;
④HSV:HSV彩色图像;
⑤PALLETECOLOR:使用调色板的彩色图像。
此外还有ARGB、CMYK、YBR-FULL等。格式转换软件在输出图像数据时,必须根据光度表示进行调整。
212 软件结构
98