Dicom文件中图像参数详解
- 格式:docx
- 大小:14.65 KB
- 文档页数:3
DICOM简要说明一、概述 (2)二、DICOM基本介绍 (3)DICOM解释 (3)DICOM资料的结构 (3)DICOM的服务功能对(SOP) (4)SCU/SCP(ServiceClass User/Provider) (5)DICOM的工作过程 (5)三、常用测试工具介绍 (6)四、实际DVT测试 (7)模拟器配置介绍 (7)Print SCP模拟器 (11)Storage SCU模拟器 (17)Worklist SCP模拟器 (18)DICOM Network Analyzer (19)五、EFILM功能介绍 (24)Storage SCP测试 (26)Storage SCU测试 (27)Query/Retrieve测试 (29)一、概述文档编写目的是为了大家对DICOM有一些基本的了解与一些DICOM测试工具的简单使用方法。
二、DICOM基本介绍引用:/okaimee/archive/2010/05/31/1748514.htmlDICOM解释DICOM(digital imaging communications in medicine)。
从字面上解释,第一,应用对象是数字化的图像;第二,DICOM规范的核心是“通信”。
综上所述,DICOM可以解释为“医学数字化图像通信/交流的共同规格”,既“医学数字成像和通信”。
DICOM资料的结构一个患者到医院就诊,为了判断他的病灶,医生需要指定不同的检查(例如: CT,MR,超声),每一项检查都需要由相对应的仪器完成,但仪器产生的是一系列的影像(例如CT产生一组10张,MR产生10张和20张各一组影像),这些影像和病人如何产生关联呢?在DICOM规格中,使用了相对应的资料结构来描述: 定义出Patient,Study,Series,Image四个层次来存储上述例子。
Patient中包含了该病人的所有基本资料(姓名,性别,年龄等)和医生指定的检查Study;Study中包含了检查种类(CT,MR,B超)和指定检查的Series;Series中包含检查的技术条件(毫安,FOV,层厚等)和图像Image。
DICOM医学影像⽂件格式解析DICOM医学影像⽂件格式解析dicom协议中⽂⽂档可去csdn下载1.DICOMDICOM(DigitalImaging andCommunications inMedicine)是指医疗数字影像传输协定,是⽤于医学影像处理、储存、打印、传输的⼀组通⽤的标准协定。
它包含了⽂件格式的定义以及⽹络通信协议。
DICOM是以TCP/IP为基础的应⽤协定,并以TCP/IP联系各个系统。
两个能接受DICOM格式的医疗仪器间,可通过DICOM格式的⽂件,来接收与交换影像及病⼈资料。
⽬前,DICOM被⼴泛应⽤于放射医疗,⼼⾎管成像以及放射诊疗诊断设备(X射线,CT,核磁共振,超声等),并且在眼科和⽛科等其它医学领域得到越来越深⼊⼴泛的应⽤。
⽬前采⽤的标准是DICOM3.0,每⼀张图像中都携带着⼤量的信息,这些信息具体可以分为以下四类:(a)Patient(b)Study(c)Series(d)Image每⼀个DICOM Tag都是由两个⼗六进制数的组合来确定的,分别为Group和Element。
如(0010,0010)这个Tag表⽰的是Patient’s Name,它存储着这张DICOM图像的患者姓名。
2.DICOM存储格式DICOM⽂件的整体结构如下表所⽰,先是128字节的导⾔部分(没有实际信息),接着是四个字节组成的"DICM"字符串,然后是若⼲DataElement元素依次排列直⾄⽂件结束。
导⾔"DICM"DataElement DataElement...DataElement128 Byte 4 Byte n Byte n Byte n Byte2.1 DataElement的三种结构DataElement是存储⽂件信息的主体,DataElement的总体结构如下表所⽰:Tag VR(值表⽰法)Len(数据长度)数据值(内容)4 Byte 2 Byte 2 Byte Len ByteTag由2 Byte的组号(group)和2 Byte的元素号(element)组成,VR是DICOM特有的值表⽰法,关于值表⽰法的解释见下⽂按照VR的类型以及是否显⽰VR,DataElement⼜分为三种具体的结构。
dicom⼊门资料DICOM协议⽬录DICOM(Digitalimaging and Communications in Medicine)数字影像和通信标准DICOM3.0.2004在2004年11⽉发布。
DICOM 3.0标准共有18个部分,其各部分的内容概要如下:第⼀部分:引⾔与概述,简要介绍了DICOM的概念及其组成。
第⼆部分:DICOM兼容性声明。
声明DICOM要求制造商精确地描述其产品的DICOM兼容性,即构造⼀个该产品的DICOM兼容性声明。
第三部分: DICOM信息对象定义。
介绍了lOD和SOP类。
第四部分:服务类,说明了14个服务类,服务类详细介绍了功能与信息对象上的命令及其产⽣的结果。
第五部分:数据结构及语意,描述了怎样对信息对象类和服务类进⾏构造和编码。
第六部分:数据字典,描述了所有信息对象是由数据元素组成的,数据元素是对属性值的编码。
第七部分:消息交换,定义了进⾏消息交换时相互通讯的医学图像应⽤实体所⽤到的服务和协议。
第⼋部分:消息交换的⽹络通讯⽀持,说明了在⽹络环境下的通讯服务和⽀持DICOM应⽤实体进⾏消息交换的必要的上层协议。
第九部分:消息交换的点对点通讯⽀持。
由于⽬前在实际中很少使⽤点对点通信,该部分在DICOM 2003版中已经被删除。
第⼗部分:介质存储与⽂件格式。
第⼗⼀部分:介质存储应⽤描述。
第⼗⼆部分:存储功能和⽤于数据交换的介质格式。
第⼗三部分:打印管理的点对点通讯⽀持。
该部分在DICOM 2003中也已被删除。
第⼗四部分:灰度图的标准显⽰(显⽰和打印)功能。
第⼗五部分:安全特性描述。
第⼗六部分:内容资源映射。
第⼗七部分:说明信息。
这部分包含标准化表格和信息附件中的说明信息。
第⼗⼋部分:WEB访问DICOM持久对象。
定义基于WEB的服务,⽤于访问DICOM持久对象。
提供从HTML页⾯或者XML⽂档访问DICOM 持久对象的简单机制。
DICOM简介⼀ dicom是什么?⼆ dicom⽂件结构三如何编写dicom程序四利⽤开发包开发dicom程序五 dcmtk使⽤介绍⼀ dicom是什么?dicom全名是医学数字影像和通讯。
DICOM简要说明一、概述 (2)二、DICOM基本介绍 (3)DICOM解释 (3)DICOM资料的结构 (3)DICOM的服务功能对(SOP) (4)SCU/SCP(ServiceClass User/Provider) (5)DICOM的工作过程 (5)三、常用测试工具介绍 (6)四、实际DVT测试 (7)模拟器配置介绍 (7)Print SCP模拟器 (11)Storage SCU模拟器 (17)Worklist SCP模拟器 (18)DICOM Network Analyzer (19)五、EFILM功能介绍 (24)Storage SCP测试 (26)Storage SCU测试 (27)Query/Retrieve测试 (29)一、概述文档编写目的是为了大家对DICOM有一些基本的了解与一些DICOM测试工具的简单使用方法。
二、DICOM基本介绍引用:DICOM解释DICOM(digital imaging communications in medicine)。
从字面上解释,第一,应用对象是数字化的图像;第二,DICOM规范的核心是“通信”。
综上所述,DICOM可以解释为“医学数字化图像通信/交流的共同规格”,既“医学数字成像和通信”。
DICOM资料的结构一个患者到医院就诊,为了判断他的病灶,医生需要指定不同的检查(例如: CT,MR,超声),每一项检查都需要由相对应的仪器完成,但仪器产生的是一系列的影像(例如CT产生一组10张,MR产生10张和20张各一组影像),这些影像和病人如何产生关联呢?在DICOM规格中,使用了相对应的资料结构来描述: 定义出Patient,Study,Series,Image四个层次来存储上述例子。
Patient中包含了该病人的所有基本资料(姓名,性别,年龄等)和医生指定的检查Study;Study中包含了检查种类(CT,MR,B超)和指定检查的Series;Series中包含检查的技术条件(毫安,FOV,层厚等)和图像Image。
DICOM医学影像文件的解析作者:龚自霞,成江晨来源:《电脑知识与技术》2011年第28期摘要:通过示例对DICOM医学图像文件的格式进行比较详细的解析,阐述了文件头和数据元素的格式,为设计一个能读取和显示医学影像设备中的DICOM格式图像的工具软件打好基础,同时也为进一步针对医学影像处理应用的研究和开发提供了数据准备。
关键词:DICOM标准;医学图像文件;解析中图分类号:TP391文献标识码:A文章编号:1009-3044(2011)28-6899-02File Format Analysis of DICOM Medical ImageGONG Zi-xia, CHENG Jiang-chen(Bichemical Engineering College of Beijing Union University, Beijing 100023, China)Abstract: Byanalyzingthe file format of DICOMimage file through an example, describingtheformat of the information header and data element of DICOM file, laying the foundation of designing the image tools that can read and display DICOM medical image equipment, and also providing the data preparationfor further processing applications of medical imaging research and development.Key words: DICOM standard; medical image file; analysisDICOM是Digital Imaging and Communication of Medicine的缩写,是美国放射学会和美国电器制造商协会[1]组织制定的专门用于医学图像的存储和传输的标准名称,目前用的主要是DICOM3.0版本,该标准已经被医疗设备生产商和医疗界广泛接受,在医疗仪器中得到普及和应用,同时随着图像化、计算机化的医疗设备的普及和医院管理信息系统,特别是图像存档和通信系统(Pieture Archiving and Communication System,PACS)[2]和远程医疗系统的发展,该标准得到越来越多的应用。
DICOM医学图像处理:DICOM⽹络传输背景:专栏取名为DICOM医学图像处理原因是:博主是从医学图像处理算法研究时开始接触DICOM协议的。
当初认识有局限性,认为DICOM只是⼀个简单的⽂件格式约定,简⽽⾔之,我当时认为DICOM协议就是扩展名为DCM⽂件的格式说明。
其实不然,随着对医疗⾏业的深⼊,对DICOM协议也有了更全⾯的认识。
⽽今才发现DCM⽂件只是DICOM协议⼀部分中的⼀⼩节,仅仅是整个协议中的⼀个数据结构,⽽DICOM协议更多的是关于医疗⾏业各种服务及相关流程的约定,因此其实DICOM协议中最主要的是信息流,是对医院整体运作流程的约定。
依我看来,可以将DICOM分为两⼤类(这⾥只是从DICOM相关从业者⽇常⼯作⾓度出发来分类的):1)DICOM医学图像处理,即DCM⽂件中具体数据的处理,说图像可能有些狭隘,⼴义上还包括波形(⼼电)、视频(超声)等等;2)DICOM⽹络传输,主要描述信息在医院各系统之间的交互⽅式及传输格式。
像我之前的研究就完全属于第⼀类“DICOM医学图像处理”,⼀旦解析出DICOM的⽂件格式其实与常规的图像处理就没有差别。
如果仅此⽽已,可以说跟医疗就没有任何关系,与医疗⾏业结合紧密的是第⼆类“DICOM⽹络传输”,该部分是⽇常患者到医院就诊等整体流程的抽象,是DICOM标准的核⼼。
因此此次博⽂就重点介绍“DICOM⽹络传输”中的第⼀环节:⽹络连接(Association,在OSI中叫做Connection),并结合DCMTK和fo-dicom的源码进⾏实例介绍。
DICOM⽹络传输:服务端(Server,SCP)/客户端(Client,SCU):DICOM采⽤C/S模式来描述⽹络传输:客户端(Client)连接到服务端(Server)然后使⽤服务端提供的各项服务(Services)。
不同于传统⽹络连接中的Server和Client的,DICOM中的Server叫做Service Class Provider,Client叫做Service Class User。
接着昨天,对文件格式的分析:0100h-0119h:这里的02001000将其进行字节转换后为00020010,这里标签的含义是UID,5549即为UI,值域长度为1200,将其字节转换后为0012即为18,表示后面18个字节都是值的内容即1.2.840.10008.1.2。
011ah-0135h:这里的02001200将其进行字节转换后为00020012,值描述还是UI,值域长度为14 00即为20个字节,值的内容为1.2.40.0.12.0.9812.0。
0136h-0147h:这里的02001300将其进行字节转换后为00020013,其值描述为5348即为SH(可见标准第五部分short string),0A00即值域长度为10,其值的内容为0.1B/WIN32。
0148h-015fh:这里的02001600将其进行字节转换后为00020016,其值描述为4145即为AE,值域长度为1000字节顺序转换为0010即为16个字节长度,其值的内容为IRIS后跟12个字节的空格(20)。
0160h-0171h:这里的08000500将其进行字节转换后为00080005,查找标准第六部分得知其为特定字符集(Specific Character Set),0A00字节转换后000A知字节长度为10,后跟两个字节的保留字,从0168h开始为ISO_IR100,表示ISO组织的一个记录号。
0172h-018fh:这里的08000800将其进行字节转换后为00080008,查找标准第六部分得知其为图像类型(Image Type),同上一个数据元一样这个地方也没有表示值,1600字节转换后0016得知字节长度为22,后跟两个字节的保留字,从017ah开始为ORIGINAL\PRIMARY\AXIAL,表示该图像的类型。
0190h-01b1h:这里的08001600将其进行字节转换后为00080016,查找标准第六部分得知其为SOP服务类的UID(SOP Class UID),为什么这里就不需要判断VR而有标签直接得出是属于UI呢?是隐形显示吗隐形显示与显性显示的区别如何从图像中看出来!1A00转换字节为001A即长度为26,后跟两个字节的保留字,从0198h开始为1.2.840.10008.5.1.4.1.1.2,与下面的00080018一起指得是与DICOM文件的传输识别有关的识别码。
特别专题Exclusive Subject
特别专题Exclusive Subject
特别专题
Exclusive Subject 表1 值描述包含的部分数据类型
数据长度。
该项是无符号整数,
根据VR的种类不同占2个字节或4个字
节。
数据长度的作用是指定Value Field
项目所占字节数。
DICOM规定数据
长度值(字节)必须为偶数,当值长
度为0xFFFFFFFF是表示未确字节数
(Undefined Length),这是为了解
决特殊或以后未知的的数据元素,如
当VR是序列类型SQ时,其数据长度就
不能简单在Value Length段给出。
数据区。
它是该数据元素实际值
存储地方。
存储的数据类型取决于数
据元素VR。
表2列出三种不同传输语
法情况下的数据元素的格式(单位:
字节),其字节数必须能整除2。
表2 三种不同传输语法数据元素
DICOM在计算机中采用的字节排
序存储机制主要有两种。
小端(Little Endian):在一个
多字节的二进制存储中,把重要程度
最小的字节放在最前面编码,而其他
的字节按照重要程度的升序排序[6]。
图4 DICOM V3.0文件头格式
图4是一段以16进制显示DICOM
《中国数字医学》2014年第9卷第3期。
DICOM文件可以大致分为两部分:
一部分:与图像相关的元信息,包括患者信息,检查信息,序列信息,图像信息等等。
另一部分:图像的像素数据。
在解析DICOM文件中的像素数据的时候,我们先需要读取以下图像相关信息:
以下是某个CT影像中的图像信息示例:
(0028,0002) Samples per Pixel VR: US Length:
2 Value: 1
(0028,0004) Photometric Interpretation VR: CS Length:
12 Value: MONOCHROME2
(0028,0010) Rows VR: US Length:
2 Value: 512
(0028,0011) Columns VR: US Length:
2 Value: 512
(0028,0030) Pixel Spacing VR: DS Length:
22 Value: 0.48828125\0.48828125
(0028,0100) Bits Allocated VR: US Length:
2 Value: 16
(0028,0101) Bits Stored VR: US Length:
2 Value: 12
(0028,0102) High Bit VR: US Length:
2 Value: 11
(0028,0103) Pixel Representation VR: US Length:
2 Value: 0
(0028,1050) Window Center VR: DS Length:
12 Value: 00100\00100
(0028,1051) Window Width VR: DS Length:
12 Value: 00500\00500
(0028,1052) Rescale Intercept VR: DS Length:
6 Value: -1000
(0028,1053) Rescale Slope VR: DS Length:
2 Value: 1
(0028,2110) Lossy Image Compression VR: CS Length:
2 Value: 01
(0028,2112) Lossy Image Compression Ratio VR: DS Length: 8 Value: 6.228918
1.(0028,0002) Samples per Pixel
每一个像素的取样数,一般来说,CT,MR,DR等灰度图像都是1,而彩超等彩**图像都是3,分别表示R, G, B三个颜色通道。
2.(0028,0004) Photometric Interpretation
我们经常碰到的Photometric Interpretation有以下几种类型:
Monochrome2 一般的灰度图像都采用这种,Pixel值越大,图像就越白。
Monochrome1 只有部分CR, DR图像使用,Pixel值越大,图像就越黑。
Palette Colour 一般用于彩超图像,每个像素占用8位或者16位,调色板保存在[0028,1201]RedPaletteColorLookupTableData,
[0028,1202]GreenPaletteColorLookupTableData,
[0028,1203]BluePaletteColorLookupTableData的属性中。
RGB 这是最常用的彩**图像格式。
YBR_FULL 另外一种彩**图像格式,存储格式为Y(Luminance 亮度),
B(Blueness 蓝色),R(Redness, 红色)
YBR_FULL_422 一般用于JPG有损压缩格式的彩**图像,每两个像素共同使用32位,每一个像素都有自己的Y(Luminance 亮度),但是共享相同的B(Blueness 蓝色),R(Redness, 红色)。
所以,它的像素值存储方式是:YYBR,YYBT,YYBR YBR_RCT 用于JPEG 2000无损压缩彩**图*像,Reversible Color Transformation, 可逆色彩变换。
Y = (R+2G+B)/4, CB = B-G ,CR = R - G
G = Y - (CR+CB)/4 , R = CR + G, B = CB + G
YBR_ICT 用于JPEG 2000有损压缩彩**图像Irreversible Color Transformation, 不可逆色彩变换。
Y = + .29900R + .58700G + .11400B
CB = - .16875R - .33126G + .50000B
CR = + .50000R - .41869G - .08131B
3. (0028,0010)Rows
图像的高度
4. (0028,0011)Columns
图像的宽度
5. (0028,0030)Pixel Spacing
图像像素间距,读取Pixel Data的时候不需要,主要用于长度测量。
6. (0028,0100)Bits Allocated
一个像素取样点存储时分配到的位数,一般RGB的图像,每一个颜色通道都使用8位,所以一般取值为8。
对于灰度图像,如果是256级灰阶,一般就是8位。
如果高于256级灰阶,一般就采用16位。
7. (0028,0101)Bits Stored
一个像素取样点存储时使用到的位数。
比方说示例中CT影像,采用的是4K灰阶,像素值取值范围为0~4095,所以使用到的位数为12位。
8. (0028,0102)High Bit
最高位序号,它定义了存储点在分配的内存中的排列方式,它的值是最后一个bit的序号。
如果第一个bit放在0位,那么最后一个bit为Bits Stored -1。
9. (0028,0103)Pixel Representation
如果这个值为0,这表明是无符号类型,其VR类型应该为US,Unsigned Short. 如果这个值为1,这表明为有符号类型,其VR类型应该为SS,Signed Short.
10. (0028,1050)Window Center 和(0028,1051) Window Width
窗宽窗位,不解释
11. (0028,1052)Rescale Intercept 和(0028,1053)Rescale Slope
用于根据像素值计算原始值,比方说,CT可以用于计算HU值。
比方说:HU = Rescale Slope * X + Rescale Intercept.
12. (0028,2110)Lossy Image Compression
当该值为1时,表明该图像曾经经过有损压缩处理。
即使后来解压缩后,再用非压缩格式存储和传输,该值也需要保持为1.
13. (0028,2112)Lossy Image Compression Ratio
有损压缩压缩率。
对于多帧图像,我们还需要读取Number of Frames (0028,0008)来获取帧数,然后,逐帧读取Pixel Data。
对于彩*图像,我们还需要读取Planar configuration (0028,0006),它定义了各个彩色通道值在Pixel Data中排列的排列方式。
当此值为0的时候,它这样排列的RGBRGBRGBRGBRGB。
当此值为1的时候,它是这样排列的:RRRRR......GGGGG.......BBBBB。
对于多帧图像,它是这样排列的:第一帧的RRR..,第一帧的GGG...,第一帧的BBB...,第二帧的RRR..,第二帧的GGG...,第二帧的BBB...。