美章网 资料文库 DICOM医学图像的设计与实行范文

DICOM医学图像的设计与实行范文

本站小编为你精心准备了DICOM医学图像的设计与实行参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

DICOM医学图像的设计与实行

数据类型是2字节的字符串,描述了数据元素中数据值的类型,它是由具体传输语法决定的可选项,如果传输语法中规定的是显式VR(ExplicitVR),则VR必须存在;如果规定的是隐式VR(Im-plicitVR),则VR必须省略。它包括UI、DT、AS、DA等各种定义类型,如UI表示唯一标识符,DT表示日期时间,AS表示年龄字符串。数据长度由一个16或32bits无符号整数表示,它表明了元素的数据值部分的长度,也就是所占的字节数。数据的值,部分存储的是具体的数据,其长度必须为偶数字节。

1传输语法与字节序

dicom文件的传输语法(transfersyntaxUID)规定了数据的编码方式(涉及到数据元素中是否包含有VR,压缩方式和字节的排序),由数据元素中的标签为(0002,0010)的数据元素决定,它是一个唯一标识符(UID)。例如传输语法为:1.2.840.10008.1.2.2的代表它是隐式小端序传输,编码规则为explicitVRlittleEndian的传输语法,在数据元素的结构中,不包含VR,并且对二进制数据交换字节顺序,例如68AF4B2CH(十六进制)的数据编码为:2C4BAF68H。DICOM有一个默认的传输语法:implicitVRlittleEndian。数据元素一般被分为3种格式,主要是因为数据的长度和数据的类型不同,具体数据元素的格式如表1至表3所示。其中前面的两种格式都表示数据元素有明确的数据类型规定,第3种格式表示数据元素是隐含的数据类型。前两种类型的数据元素和第3种类型的数据元素不能同时在数据集及其嵌套数据集中出现。BigEndian与LittleEndian的字节排序是表示计算机字节顺序的两种格式,所谓的字节顺序指的是长度跨越多个字节的数据的存放形式。BigEndi-an定义将高序字节存储在起始地址;LittleEndian定义将低序字节存储在起始地址。对于由单字节成的数据类型两者排序均为从左到右排序。图3是一幅DICOM图像的部分二进制代码段,采用16进制编码显示。显示的是(0002,0010)标签的信息,这是一个明确数据类型,数据长度占2B,小端序编码,类型为UI,数据长度为18B数据元素。

2像素数据元素格式

像素数据元素是由标签(7FE0,0010)定义的,该元素中存储的是图像的像素信息,其中的像素数据可以是压缩的,也可以是未压缩的,对于未压缩格式的像素数据一般采用位图格式存储其像素,按照从左到右,从上到下的顺序存储。对于压缩格式的像素数据,DICOM标准支持RLE与JPEG两种图像压缩格式。与像素数据元素相关的还有一些其他的常用数据元素,例如:图像的帧数由标签为(0028,0008)的数据元素表示,图像的行数由标签为(0028,0010)的数据元素表示,图像的列数由标签为(0028,0011)的数据元素表示等。

3DICOM文件查看器的设计与实现

3.1DICOM文件查看器的显示流程设计

首先打开文件,将文件的标签信息读取到一个集合变量中,根据标签(0002,0010)确定具体传输语法,然后根据传输语法读取后面的数据元素,最后读取像素数据,把像素数据转换为BMP格式的图,并显示。具体的设计流程如图4所示。

3.2文件显示类的定义

系统中主要通过一个DICOM文件显示类,来完成文件的读取与显示功能,类中主要包含3个数据成员List<byte>pix8、List<ushort>pix16、List<byte>pix24分别记录3种不同像素的图像元素数据,又通过方法privatevoidCreateImage8()、privatevoidCreateImage16()、privatevoidCreateImage24()分别完成由像素到Bitmap图像的生成。类的主要成员如图5所示。

3.3系统实现

从DICOM文件读取并显示的主要方法为pri-vateBitmapDisplayDicomFile(stringfileName,stringfileNameOnly),其过程为:首先打开DICOM文件,然后通过属性DicomFileName获得文件的除图像元素外的其他标签信息,再根据具体的图像像素格式读取图像像素信息,最后生成Bitmap格式的图像返回。具体的实现代码如下。

作者:袁东锋张斌单位:南阳理工学院