论文部分内容阅读
摘要:文章首先针对DICOM3.0标准,对DICOM医学图象的数据结构进行系统的分析,阐述了文件元信息,数据集和数据元素的格式;然后结合DICOM图象显示的各种方法,创建了DICOM图象显示核心类,并简要描述了部分函数的功能。
关键词:DICOM;PACS;显示;传输语法
中图分类号:TP317.4 文献标识码:A文章编号:1009-3044(2007)04-11092-02
1 引言
DICOM标准是由美国放射学院(ACR)和美国国家电气制造商协会(NEMA)联合发起组成的一个联合委员会共同制定的,目的是解决各种医疗设备互通互联和信息交换的问题,它制定了医疗影像设备之间的数据存储与通信传输的标准。
2 DICOM文件格式解析[2][3]
DICOM医学图象文件的后缀为.dcm,一般的图象处理软件是不支持这种文件格式的。因此,如果要想在医学上对这种格式的图象进行读写或者处理,就必须对它有深刻的了解。
DICOM文件从可分为文件头和数据集两个部分。其结构如图2-1。
图1 DICOM文件结构
2.1 DICOM文件头
DICOM文件头是整个DICOM文件中最复杂的部分,包含了各种各样的信息,比如病人信息,图像采集设备信息,所存储的图像的信息等等。由于目前关心的是如何把一个DICOM文件的图像显示出来,因此可以暂时只关心和显示数据集中存储的图像数据有关的数据。
DICOM的文件头包括两个部分,首先是128个字节的保留部分,该部分通常全为00h,文件前缀占4个字节,内容是大写字母的字符串“DICM”,在文件中为十六进制的“44 49 43 4D”,该组合可以作为判断一个文件是否为DICOM文件的依据。
文件头的第二部分主要用来存储元信息(Meta Information),包括传输语法,病人姓名,文件元信息版本,媒体存储SOP类UID,传输句法UID等等。真正的图像数据紧跟在元信息之后。DICOM文件可以在单一文件中储存多幅图像,还可储存彩色图像。这些文件元素将依照Explicit VR Little Endian传输语法来编码。
2.2 DICOM数据集和数据元素
数据集表示一个现实世界信息对象的一个实例,它是由数据元素按照数据标签(Tag)的升序排列而成。数据元素主要有四个部分组成:标签(Tag),值表示类型(VR Value Representation),值长度(Value Length),值域(Value Field),其中值表示类型是可选的,图2-2描述了数据集和数据元素的结构:
图2 数据集和数据元素结构图
数据元素标签是一个16位的无符号整数的有序对,前8位代表组号,后8位代表元素号。值表示类型是含有数据元素VR的2字节的字符串。这2个字节的VR用DICOM默认字符集来编码。数据值域含有数据元素的值,它的存储长度为偶数个字节。存储在这个字段的值的数据类型由这个数据元素的值表示类型(VR)决定。而数据集中数据元素的编码方式是由DICOM文件元信息中传输语法UID来决定。
紧接着,图像Pixel Data信息(7EE0 0010)是DICOM文件中最重要的一个数据单元。该单元包含了医学DICOM图象的显示所必须的数据。与Pixel Data信息有密切关系的其他数据元是:
图象帧数,图象行数,图象列数,分配位数,存储位数,最高位数.
Pixel Data数据的编码由分配位数,存储位数和最高位数,分配位数一定是大于存储位数的。DICOM图象的象素数据一般为16 Bits或12 Bits两种。若数据为16Bits时,则每象素二字节;若数据为12 Bits时,则每象素字节分配情况就较为复杂,需要通过判别(0028,0100),(0028,0101),(0028,0102)的值来决定每像素分配位数,存储位数和像素的最高位情况。
3 DICOM图象的显示
在上面分析了DICOM文件格式的基础上,解析文件后,获得了文件中所有数据元素的信息。在这些信息里有文件的图像信息,本节根据上一节中获得的信息将文件所封装的图像显示在屏幕上。
DICOM图象的显示主要由两种方法:(1)先读取DICOM文件,接着将读取的数据进行转换处理[4],然后再以DIB显示DICOM图象[5]。(2)先根据上面分析的DICOM文件的结构来解析它的TAG,再获得它的每个Pixel data的信息,然后再来做映射。本文采用的是后者。
3.1 DICOM图象显示过程分析
主要是利用在上面的文件结构的来达到显示的目的的。
DICOM文件头的文件序言所占的128个字节,是用于应用简介的,用Preamble( )直接跳过。运用DicomLog()来读取DICOM的前缀“DICM”来判断是否是DICOM文件,否的话,提示错误信息。
如果根据前缀内容判断,得到是DICOM图象,就开始继续读取的文件元信息(File Meta Information)提取相关的传输语法。接着,读取图象的pixel data信息。从图象的行数(0028 0010)、列数(0028 0011),位分配(Bits Allocated)(0028 0100),位存储(Bits Stored)(0028 0101)和最高位(High Bit)(0028 0102)这些数据元素就可以了解图象数据元素的信息,图象的宽度和高度,以及每个图象数据元素的存储长度,实际上分配的位数,位存储的最高的位在分配中的第几位等等,运用Rows(),Columns(),BitsAllocated(),BitsStored(),HighBit()等函数分别读取载入的DICOM图象的这些信息,以及其他相关的信息。
最后调用相关的DICOM图象的显示程序来显示的Dicom图象。(图3-1就体现了DICOM图象的显示过程。)在本文中,具体的实现描述如下:
图3 显示流程图
3.2 DICOM图象显示的实现
的程序是在目前应用最广泛的平台(Windows 操作系统)上开发的。因为 Visual C++支持面向对象编程,选用它作为开发环境。整个设计的核心是一组对 DICOM 数据集进行解码的 C++类,这些类是用面向对象方法设计出来的,而且符合医学影像标准,所涉及到的关键类继承关系如图3-2。
图4 与显示有关的类结构图
4 总结
DICOM 3.0做为医学图象存档和通信的国际标准,是所有医学影像技术的基础。而DICOM图象显示程序具有在显示工作站上显示医学图象的功能,可提供在无胶片环境下观察医学图象的方法,这是PACS系统所必需的功能。本文基于DICOM3.0标准,对 DICOM医学图象文件的数据结构进行了解析,并且在这一基础上,实现了DICOM图象的计算机显示(示例图像来源于网上),同时也为显示连续多帧DICOM医学图象的显示留了可以深入研究的余地。
本文程序读取的图像
专业软件读取的图象
参考文献:
[1]王新国. DICOM标准在PACS系统中的关键技术研究与实现[J].2004(5).
[2]The DICOM Standard ,06_05.pdf, From http://medical.nema.org/dicom/2006/,Monday, April 24, 2006.
[3]谢长生,熊华明,陈颉. DICOM图象显示的研究与实现[J]. 计算机工程与科学,2002(6).
[4]徐潘辉,林峰.DICOM医学数字图像格式与BMP通用图像格式转换软件的设计与实现[J].医疗设备信息 ,2006(3).
[5]王光飞,刘杰,刘文.DICOM医学图象的调窗技术及DIB显示[M].医疗设备. 2005(8).
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:DICOM;PACS;显示;传输语法
中图分类号:TP317.4 文献标识码:A文章编号:1009-3044(2007)04-11092-02
1 引言
DICOM标准是由美国放射学院(ACR)和美国国家电气制造商协会(NEMA)联合发起组成的一个联合委员会共同制定的,目的是解决各种医疗设备互通互联和信息交换的问题,它制定了医疗影像设备之间的数据存储与通信传输的标准。
2 DICOM文件格式解析[2][3]
DICOM医学图象文件的后缀为.dcm,一般的图象处理软件是不支持这种文件格式的。因此,如果要想在医学上对这种格式的图象进行读写或者处理,就必须对它有深刻的了解。
DICOM文件从可分为文件头和数据集两个部分。其结构如图2-1。
图1 DICOM文件结构
2.1 DICOM文件头
DICOM文件头是整个DICOM文件中最复杂的部分,包含了各种各样的信息,比如病人信息,图像采集设备信息,所存储的图像的信息等等。由于目前关心的是如何把一个DICOM文件的图像显示出来,因此可以暂时只关心和显示数据集中存储的图像数据有关的数据。
DICOM的文件头包括两个部分,首先是128个字节的保留部分,该部分通常全为00h,文件前缀占4个字节,内容是大写字母的字符串“DICM”,在文件中为十六进制的“44 49 43 4D”,该组合可以作为判断一个文件是否为DICOM文件的依据。
文件头的第二部分主要用来存储元信息(Meta Information),包括传输语法,病人姓名,文件元信息版本,媒体存储SOP类UID,传输句法UID等等。真正的图像数据紧跟在元信息之后。DICOM文件可以在单一文件中储存多幅图像,还可储存彩色图像。这些文件元素将依照Explicit VR Little Endian传输语法来编码。
2.2 DICOM数据集和数据元素
数据集表示一个现实世界信息对象的一个实例,它是由数据元素按照数据标签(Tag)的升序排列而成。数据元素主要有四个部分组成:标签(Tag),值表示类型(VR Value Representation),值长度(Value Length),值域(Value Field),其中值表示类型是可选的,图2-2描述了数据集和数据元素的结构:
图2 数据集和数据元素结构图
数据元素标签是一个16位的无符号整数的有序对,前8位代表组号,后8位代表元素号。值表示类型是含有数据元素VR的2字节的字符串。这2个字节的VR用DICOM默认字符集来编码。数据值域含有数据元素的值,它的存储长度为偶数个字节。存储在这个字段的值的数据类型由这个数据元素的值表示类型(VR)决定。而数据集中数据元素的编码方式是由DICOM文件元信息中传输语法UID来决定。
紧接着,图像Pixel Data信息(7EE0 0010)是DICOM文件中最重要的一个数据单元。该单元包含了医学DICOM图象的显示所必须的数据。与Pixel Data信息有密切关系的其他数据元是:
图象帧数,图象行数,图象列数,分配位数,存储位数,最高位数.
Pixel Data数据的编码由分配位数,存储位数和最高位数,分配位数一定是大于存储位数的。DICOM图象的象素数据一般为16 Bits或12 Bits两种。若数据为16Bits时,则每象素二字节;若数据为12 Bits时,则每象素字节分配情况就较为复杂,需要通过判别(0028,0100),(0028,0101),(0028,0102)的值来决定每像素分配位数,存储位数和像素的最高位情况。
3 DICOM图象的显示
在上面分析了DICOM文件格式的基础上,解析文件后,获得了文件中所有数据元素的信息。在这些信息里有文件的图像信息,本节根据上一节中获得的信息将文件所封装的图像显示在屏幕上。
DICOM图象的显示主要由两种方法:(1)先读取DICOM文件,接着将读取的数据进行转换处理[4],然后再以DIB显示DICOM图象[5]。(2)先根据上面分析的DICOM文件的结构来解析它的TAG,再获得它的每个Pixel data的信息,然后再来做映射。本文采用的是后者。
3.1 DICOM图象显示过程分析
主要是利用在上面的文件结构的来达到显示的目的的。
DICOM文件头的文件序言所占的128个字节,是用于应用简介的,用Preamble( )直接跳过。运用DicomLog()来读取DICOM的前缀“DICM”来判断是否是DICOM文件,否的话,提示错误信息。
如果根据前缀内容判断,得到是DICOM图象,就开始继续读取的文件元信息(File Meta Information)提取相关的传输语法。接着,读取图象的pixel data信息。从图象的行数(0028 0010)、列数(0028 0011),位分配(Bits Allocated)(0028 0100),位存储(Bits Stored)(0028 0101)和最高位(High Bit)(0028 0102)这些数据元素就可以了解图象数据元素的信息,图象的宽度和高度,以及每个图象数据元素的存储长度,实际上分配的位数,位存储的最高的位在分配中的第几位等等,运用Rows(),Columns(),BitsAllocated(),BitsStored(),HighBit()等函数分别读取载入的DICOM图象的这些信息,以及其他相关的信息。
最后调用相关的DICOM图象的显示程序来显示的Dicom图象。(图3-1就体现了DICOM图象的显示过程。)在本文中,具体的实现描述如下:
图3 显示流程图
3.2 DICOM图象显示的实现
的程序是在目前应用最广泛的平台(Windows 操作系统)上开发的。因为 Visual C++支持面向对象编程,选用它作为开发环境。整个设计的核心是一组对 DICOM 数据集进行解码的 C++类,这些类是用面向对象方法设计出来的,而且符合医学影像标准,所涉及到的关键类继承关系如图3-2。
图4 与显示有关的类结构图
4 总结
DICOM 3.0做为医学图象存档和通信的国际标准,是所有医学影像技术的基础。而DICOM图象显示程序具有在显示工作站上显示医学图象的功能,可提供在无胶片环境下观察医学图象的方法,这是PACS系统所必需的功能。本文基于DICOM3.0标准,对 DICOM医学图象文件的数据结构进行了解析,并且在这一基础上,实现了DICOM图象的计算机显示(示例图像来源于网上),同时也为显示连续多帧DICOM医学图象的显示留了可以深入研究的余地。
本文程序读取的图像
专业软件读取的图象
参考文献:
[1]王新国. DICOM标准在PACS系统中的关键技术研究与实现[J].2004(5).
[2]The DICOM Standard ,06_05.pdf, From http://medical.nema.org/dicom/2006/,Monday, April 24, 2006.
[3]谢长生,熊华明,陈颉. DICOM图象显示的研究与实现[J]. 计算机工程与科学,2002(6).
[4]徐潘辉,林峰.DICOM医学数字图像格式与BMP通用图像格式转换软件的设计与实现[J].医疗设备信息 ,2006(3).
[5]王光飞,刘杰,刘文.DICOM医学图象的调窗技术及DIB显示[M].医疗设备. 2005(8).
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。