Dicom文件中图像参数详解

合集下载

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基本介绍引用:/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文件结构及其数据元素的基本定义, 相关数据的排列规则以及读取具体数据的方法,试图通过计算 机编程的方法进行数据的读取及管理。
1 DIGOM文件结构【1】 DICOM格式图像文件是指按照DICOM标准而存储的文
件。DICOM文件一般由DICOM文件头(Header)和DICOM数 据集(Data Set)组成,如图l所示。
数据长度(Ⅵ一)数据长度指明了该数据元素的数据域中数 据的长度(字节数)。一般要求字节数目为偶数,不是偶数的补 充一个字节。这个长度,}{是值的长度,不包括数据元素标签、 VR、数据长度字段。
极据城(VF)数据域中包含了该数据元素的数值。该字段的 数据类型由数据元素的VR标志。
在DICOM数据集中,最后一个数据元素为像素数据 (7FEO,0010),该元素中存储九墨I像的像素信息,而像素数据 (7FEO,0010)之前其它数据元素记录的则是与图像有关的文本 信息,如患者姓名、检查日期、检查设备等。
图1 DICOM文件结构
DICOM文件头的最开始是可选的文件前言,它包括前同 步码和前缀。前同步码长128字节,都设成00H,文件前缀为四 个字节的字符串“DICM”。文件前言之后是文件总信息头,包含 对标识数据集的i兑明信息,如文件的传输语法、SOP类等。
DICOM数据集由DICOM数据元素(Data Element)按一
2 DIGOM文件数据的读取 2.1数据的读取[21
首先打开文件,跳过128字节的同步码,读取4个字节的
和读者借蒯数据进行聚类,其结果对于提高馆藏图书的利用 率和读者借阋的兴趣度,完善个性化读者服务具有十分重要 的意义。 参考文献: 【1l Jiawei Hart,Micheline Kamber著,范明,王小峰等肆.文据挖攮:概

DICOM医学影像文件格式解析

DICOM医学影像文件格式解析

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⼊门资料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数据格式资料

Dicom数据格式资料
AS = Angioscopy 血管镜 BI = Biomagnetic Imaging 生物磁场成像 CD = Color Flow Doppler 彩色血流多普勒 CF = Cinefluorography 荧光透视 CR = Computed Radiography 计算机X光摄影 CS = Cystoscopy 膀胱镜 CT = Computed Tomography 电脑断层摄影 DD = Duplex Doppler 双工多普勒 DG = Diaphanography 透视摄影……
平滑
空间平滑就是将数据在空间上用一个光滑的函数(通常
是Gauss函数
)去卷积
作用:
1、提高信噪比
2、符合Gauss随机场的要求
3、消除不同被试脑结构之间的细微差别
DICOM数据格式
张静远
DICOM数据格式
DICOM全称为医疗数位影像传输协定(Digital Imaging and Communications in Medicine),是一组通用的标准协定,在对于医学影像的处理、 储存、打印、传输上。它包含了档案格式的定义及网络通信协定。DICOM 是以TCP/IP为基础的应用协定,并以TCP/IP联系各个系统。两个能接受 DICOM格式的医疗仪器间,可借由DICOM格式的档案,来接收与交换影像 及病人资料。
DICOM文件结构
文件头 数据元素 数据元素 数据元素 …… 数据元素 标签 VR 数据长度 数值
文件头
文件头包含了标识数据集合的相应信息,由128字节的文 字导言构成。如果该导言不传达信息,可由十六进制的00 填充。
文件头之后是DICOM前缀,内容是字符串“DICM”,表示 是DICOM文件。
文件头之后是数据集合,文件头也可以缺省。

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医学影像文件的解析

DICOM医学影像文件的解析

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⽹络传输背景:专栏取名为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。

DICOM文件解读

DICOM文件解读

接着昨天,对文件格式的分析: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文件的传输识别有关的识别码。

PACS系统中DICOM医学图像格式解析

PACS系统中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)第十四部分灰度标准显示函数

医学数字影像和通讯(DICOM)第十四部分:灰度标准显示函数由国际电气制造业协会出版1300 N. 17th StreetRosslyn,Virginia 22209 USA版权所有(C)国际电气制造业协会2003。

包括译成其他语言的版权所有,受世界版权公约、伯尔尼公约或文学艺术著作保护公约、以及国际和泛美版权公约保护。

-标准-通知及免责声明该出版物技术方面的信息得到了参加该开发成员的一致同意目录通知及免责声明 (2)目录 (3)前言 (5)1.应用的领域和范围 (6)2.标准参考 (6)3.定义 (8)4.符号和缩略语 (8)5.惯例 (8)6.概述 (8)7.灰度标准显示函数 (11)7.1一般规则 (12)7.2传输式硬拷贝打印机 (13)7.3放射式硬拷贝打印机..................................................................... 错误!未定义书签。

8.参考.................. ..................................................................................... 错误!未定义书签。

附录A(提供资料)灰度标准显示函数的出处 (16)A.1.选择灰度标准显示函数的原因................................................ 错误!未定义书签。

A.2.BARTEN模型的详细资料 ....................................................... 错误!未定义书签。

A.3.参考............................................................................................... 错误!未定义书签。

Dicom数据格式

Dicom数据格式
文件头之后是DICOM前缀,内容是字符串“DICM”,表示 是DICOM文件。
文件头之后是数据集合,文件头也可以缺省。
4
A
数据集合
标签 VR 数据长度 数值
标签:4字节无符号整数,分为组号和元素号 VR:数据类型 数据长度:2字节或4字节 数值:长度为偶数字节
5
A
28001100,5553,0200,0001
12
A
平滑
空间平滑就是将数据积
作用:
1、提高信噪比
2、符合Gauss随机场的要求
3、消除不同被试脑结构之间的细微差别
13
A
T为平移参数,R为相对坐标轴的旋转参数
9
A
之后再通过高斯迭代,可以求解方程
其中表示第i 个体素的坐
10
A
2、重切片
重切片包括重新分割空间和计算新像素的灰度值。
计算新像素的灰度值的主要方法有:最近相邻法(nearest neighbor)、三线性插值法(tr-i linear interpolation)和正弦插 值法(sinc interpolation)等,选择何种方法根据计算精度和 计算能力来定。
11
A
标准化
由于被试间脑结构存在差异,因此需要用带有整体形变的 仿射变换和局部非线性变换将它们同一化到标准脑上
SPM 软件中采用了Ta2lairach 和Tournoux所定义的脑图谱空 间作为变换的基础,制作了不同成像方法(如MRI、PET 和CT 等) 的标准脑基准图像,用户做图像标准化时,可根据具体的 成像方法选择相应的基准图像
28001100:图像高度标签 5553:数据类型 0200:数据长度为2字节 0001:数值为256
6

Dicom文档里保存的到底是什么数据

Dicom文档里保存的到底是什么数据

Dicom文档里保存的到底是什么数据?CT值反应的是物质对x射线衰减的能力,即衰减系数,密度越大的物质,CT值越高,人们把标准状态下空气的CT值定义为-1000HU,把水的CT值定义为0HU,其他物质根据密度按比例计算出来,常见物质的CT值范围是-2000到3071HU,CT值越大,图像显示越亮,但是通常把CT值低于-1024HU的都按-1024计算,所以常见的CT值范围是-1024—3071HU。

CT采集图像时,在硬盘上保存的数据是以像素的灰度值表示的数据文档,是12位灰度图像,当被蚂蚁等dicom阅读软件读取时,软件会自动转化为CT值显示出来,因此dicom文档在硬盘上保存的是灰度值,而显示时在内存里保存的是CT值。

在每个dicom文档里的tag文档里都有以下几个数据:这些数据是用来进行灰度值(image pixel value)与CT值之间转换的,其转换方法如下:HU=slope×image pixel value+intercept注:12位灰度图像的像素值最高灰度值即图像像素值(image pixel value)是2的12次方,即4096,实际是4095。

根据上述公式,也可以计算出最大的CT值:1×4095+(-1024)=3071HU以实际图像为例:该图的tag文档里Smallest image pixel value=0Largest image pixel value=3420image pixel value=3420slope=1,intercept=-1024经过上述公式的计算,理论上图中最大的CT值应该:1×3420+(-1024)=2396HU,最小的CT值应该:1×0+(-1024)=-1024通过蚂蚁的工具,实际也可以找到最大的CT值就是2396HU,最小CT值是-1024。

因此,我们用蚂蚁软件读取dicom数据,其显示的就是正常的CT值,并没有任何不符合实际的情况。

Dicom文件中图像参数详解

Dicom文件中图像参数详解

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.2289181.(0028,0002) Samples per Pixel每一个像素的取样数,一般来说,CT,MR,DR等灰度图像都是1,而彩超等彩**图像都是3,分别表示R, G, B三个颜色通道。

Python解析多帧dicom数据详解

Python解析多帧dicom数据详解

Python解析多帧dicom数据详解概述pydicom是⼀个常⽤python DICOM parser。

但是,没有提供解析多帧图的⽰例。

本⽂结合相关函数和DICOM知识做⼀个简单说明。

DICOM多帧数据存储DICOM标准中关于多帧数据存储的最重要⼀部分说明是PS3.5 Annex A.4 A.4 Transfer Syntaxes For Encapsulation of Encoded Pixel Data。

⽆论何时,Pixel Data都存放在Pixel Data (7FE0,0010)中。

有可能是直接存放的(native),也有可能是被打包存放的(encapsulated)。

常见的多帧图⼀般采⽤打包存放的⽅式,特别是在数据存采⽤压缩格式的时候。

在打包存放时,数据被拆分成很多数据段(Data Stream Fragment),每个段保存成⼀个Tag为(FFFE,E000)的DICOM 项⽬(item)。

其中第⼀个项⽬保存基础偏移表(Basic Offset Table),保存每个帧的起始偏移。

然后,后⾯的数据段保存真正的数据。

**理论上,⼀帧(Frame)可以保存在多个数据段(Fragment)中。

**但是,⼀个数据段不会保存两帧的数据。

实际应⽤中,很少见到Frame跨数据段的情况,不过好的DICOM Parser应该⽀持这种情况。

这就是导致有些DICOM库的接⼝看起来有点古怪的原因。

pydicom应⽤以pydicom 1.2为例,pydicom.encaps封装了多帧有关的功能。

解析最可能⽤到的⼏个函数多帧使⽤ pydicom.encaps来处理pydicom.encaps.decode_data_sequence 返回每个(FFFE,E000)组成的item,形式是byte string的list。

这样⼀次拿到了所有fragment数据,可能⽐较耗内存。

注意理论上拿到的不是帧(Frame)pydicom.encaps.generate_pixel_data ⽣成⼀个generator。

DICOM医学图像处理:DIMSE消息发送与接收“大同小异”之DCMTKfo-dicommDCM

DICOM医学图像处理:DIMSE消息发送与接收“大同小异”之DCMTKfo-dicommDCM

DICOM医学图像处理:DIMSE消息发送与接收“⼤同⼩异”之DCMTKfo-dicommDCM背景:从DICOM⽹络传输⼀⽂开始,相继介绍了C-ECHO、C-FIND、C-STORE、C-MOVE等DIMSE-C服务的简单实现,博⽂中的代码给出的实例都是基于fo-dicom库来实现的,原因只有⼀个:基于C#的fo-dicom库具有⾼封装性。

对于初学者来说实现⼤多数的DIMSE-C、DIMSE-N服务⼏乎都是“傻⽠式”操作——构造C-XXX-RQ、N-XXX-RQ然后绑定相应的OnResponseReceived处理函数即可。

本博⽂希望在前⼏篇预热的基础上,对⽐DCMTK、fo-dicom、mDCM三种库构建DIMSE消息的具体操作,来分析⼀下三者对于DIMSE消息的发送和接收的实现,为后续搭建简易版的Dicom Server服务器做准备。

DIMSE:DIMSE,是DICOM Message Service Element的简称。

DICOM3.0第7部分指出:DIMSE为对等DICOM应⽤实体进⾏医学影像及相关信息交换提供了⼀种应⽤服务元素定义(Application Service Element),包括服务和协议(DIMSE Service 和DIMSE Protocol)。

DIMSE Protocol:DIMSE基于DIMSE协议来提供服务,DIMSE协议规定了构造消息必需的编码规则。

⼀条DICOM MESSAGE由固定的指令集合(Command Set),外加可选择的数据集合(Data Set)构成,如下截图所⽰:DIMSE Services:DIMSE服务因操作SOP类型的不同分为DIMSE-C Services和DIMSE-N Services,DIMSE-C服务⽀持在对等DICOM实体间进⾏Composite SOP Instance操作,主要包括C-ECHO、C-FIND、C-STORE、C-MOVE、C-GET等;⽽DIMSE-N服务⽀持Normalized SOP Instance操作,主要包括N-EVENT-REPORT、N-GET、N-SET、N-CREATE、N-ACTION、N-DELETE。

基于DICOM3.0标准的医学图像文件格式

基于DICOM3.0标准的医学图像文件格式

基于DICOM3.0标准的医学图像文件格式[导读]DICOM 3.0标准极为庞大、复杂,本文将根据我们的开发经验,介绍如何制定符合DICOM 3.0标准的医学图像文件格式。

标签:DICOM3.0医学图像格式卫生信息化三个重要的产业目标为了提升医疗服务水准,跟随医学影像技术和网络技术的发展,我国众多医院都在大量配备各种数字影像设备,并开始建立医院管理信息系统(HIS),开展远程医学试验。

他们对于图像存档和传输系统(PACS)的需求越来越紧迫,PACS的应用前景十分诱人。

然而,我国PACS的研究开发尚处于起步阶段,尽快自主开发适合我国国情的基于In-tranet的PACS是当务之急。

PACS必需解决的技术问题之一是统一各种数字化影像设备的图像数据格式和数据传输标准。

为此,诞生了新的医学数字成像及通信标准,即DICOM 3.0。

只要遵照这个标准就可以通过PACS沟通不同厂家生产的、不同种类的数字成像设备。

DICOM 3.0已经得到了世界上主要厂商的支持,新一代医学影像设备均以支持该标准作为基本特征,我国的医疗器械开发、生产部门都十分重视这个发展趋势。

DICOM 3.0标准极为庞大、复杂,本文将根据我们的开发经验,介绍如何制定符合DICOM 3.0标准的医学图像文件格式。

一 DICOM概述DICOM是Digital Imaging and Communications in Medicine的缩写,其字面含义很清楚,包括了医学的数字成像和通信两个方面。

DICOM标准是由美国放射学院(Ameri-can College of Radiology,ACR)和国家电气制造商协会(National Electrical Manufacturers Association,NEMA)共同制定的。

1. DICOM的发展过程20世纪70年代以来,计算机断层成像技术(CT)和其它数字成像技术飞速发展,很多厂商都研制了具有计算机的成像设备,制定了各自不同的图像格式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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...。

相关文档
最新文档