DICOM医学影像文件解析

DICOM医学影像文件格式解析

1.DICOM

DICOM(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”DataElementDataElementDataElement
128 Byte4 Byten Byten Byten Byte

2.1 DataElement的三种结构

DataElement是存储文件信息的主体,DataElement的总体结构如下表所示:

TagVR(值表示法)Len(数据长度)数据值(内容)
4 Byte2 Byte2 ByteLen Byte

Tag由2 Byte的组号(group)和2 Byte的元素号(element)组成,VR是DICOM特有的值表示法,关于值表示法的解释见下文

按照VR的类型以及是否显示VR,DataElement又分为三种具体的结构。

  • 显示VR:VR为OB OW OF UT SQ UN的元素结构
结构组号元素号VR预留值长度数据元素值
字节数2222(0x00,0x00)4由值长度确定
  • 显示VR:VR为普通类型时元素结构(少了预留那一行)
结构组号元素号VR值长度数据元素值
字节数2224由值长度确定
  • 隐式VR
结构组号元素号值长度数据元素值
字节数224由值长度确定

2.2 DataElement的Tag

DataElement的Tag用于标识Element的数据内容,比如病人信息、图像的格式等。

Tag总共有2000多个。

常用的主要组号:0002组描述设备通讯,0008组描述特征参数,0010组描述患者信息,0028组描述图像信息参数。

Dicom文件数据中所有dataElement从前到后

2.2.1 按tag格式又可简单分段
  • 文件元Tag(组号+0000)

不受传输语法影响,总是以显示VR方式表示,用于定义了传输语法;

文件元Tag的dataElement,并没有多大的意义,它的值长度是整个组所有DataElement的字节长度,一个Dicom中可以只有一个文件元Tag,也可以有多个文件元Tag。

  • 普通Tag

除了文件元Tag和像素Tag,其余的都是普通Tag数据。包括:图像宽,高,数据传输格式,病人姓名,病人生日,病历医院,病历科室,病情的描述等等数据;

  • 像素Tag(7fe0,0010)

表示DataElement存储的是病历的图像数据。

2.2.2 按Tag展示信息的类别
  • Patient Tag
GroupElementTag Description中文解释VR
00100010Patient’s Name患者姓名PN
00100020Patient ID患者IDLO
00100030Patient’s Birth Date患者出生日期DA
00100032Patient’s Birth Time患者出生时间TM
00100040Patient’s Sex患者性别CS
00101030Patient’s Weight患者体重DS
001021C0Pregnancy Status怀孕状态US
  • Study Tag
GroupElementTag Description中文解释VR
00080050Accession Number:A RIS generated number that identifies the order for the Study.检查号:RIS的生成序号,用以标识做检查的次序.SH
00200010Study ID检查ID.SH
0020000DStudy Instance UID:Unique identifier for the Study.检查实例号:唯一标记不同检查的号码.UI
00080020Study Date:Date the Study started.检查日期:检查开始的日期.DA
00080030Study Time:Time the Study started.检查时间:检查开始的时间.TM
00080061Modalities in Study一个检查中含有的不同检查类型.CS
00080015Body Part Examined检查的部位.CS
00081030Study Description检查的描述.LO
00101010Patient’s Age做检查时刻的患者年龄,而不是此刻患者的真实年龄.AS
  • Series Tag
GroupElementTag Description中文解释VR
00200011Series Number:A number that identifies this Series.序列号:识别不同检查的号码.IS
0020000ESeries Instance UID:Unique identifier for the Series.序列实例号:唯一标记不同序列的号码.UI
00080060Modality检查模态(MRI/CT/CR/DR)CS
0008103ESeries Description检查描述和说明LO
00080021Series Date检查日期DA
00080031Series Time检查时间TM
00200032Image Position (Patient):The x, y and z coordinates of the upper left hand corner of the image, in mm.图像位置:图像的左上角在空间坐标系中的x,y,z坐标,单位是毫米. 如果在检查中,则指该序列中第一张影像左上角的坐标.DS
00200037Image Orientation (Patient):The direction cosines of the first row and the first column with respect to the patient.图像方位:DS
00180050Slice Thickness:Nominal slice thickness, in mm.层厚.DS
00180088Spacing Between Slices层与层之间的间距,单位为mmDS
00201041Slice Location:Relative position of exposure expressed in mm.实际的相对位置,单位为mm.DS
00180023MR AcquisitionCS
00180015Body Part Examined身体部位.CS
  • Image Tag
GroupElementTag Description中文解释VR
00080008Image Type:Image identification characteristics.CS
00080018SOP Instance UIDSOP实例UID.
00080023Content Date:The date the image pixel data creation started.影像拍摄的日期.DA
00080033Content Time影像拍摄的时间.TM
00200013Image/Instance Number:A number that identifies this image.图像码:辨识图像的号码.IS
00280002Samples Per Pixel:Number of samples (planes) in this image.图像上的采样率.US
00280004Photometric Interpretation:Specifies the intended interpretation of the pixel data.光度计的解释,对于CT图像,用两个枚举值MONOCHROME1,MONOCHROME2.用来判断图像是否是彩色的,MONOCHROME1/2是灰度图,RGB则是真彩色图,还有其他.CS
00280010Rows: Number of rows in the image.图像的总行数,行分辨率.US
00280011Columns: Number of columns in the image.图像的总列数,列分辨率.US
00280030Pixel Spacing:Physical distance in the patient between the center of each pixel.像素间距.像素中心之间的物理间距.DS
00280100Bits Allocated:Number of bits allocated for each pixel sample. Each sample shall have the same number of bits allocated.分配的位数:存储每一个像素值时分配的位数,每一个样本应该拥有相同的这个值.US
00280101Bits Stored:Number of bits stored for each pixel sample. Each sample shall have the same number of bits stored.存储的位数:有12到16列举值.存储每一个像素用的位数.每一个样本应该有相同值.US
00280102High Bit:Most significant bit for pixel sample data. Each sample shall have the same high bit.高位.US
00280103Pixel Representation:Data representation of the pixel samples. Each sample shall have the same pixel representation.Enum: 0000H=unsigned integer,0001H=2’s complement.像素数据的表现类型:这是一个枚举值,分别为十六进制数0000和0001.0000H = 无符号整数,0001H = 2的补码.US
00281050Window Center窗位.DS
00281051Window Width窗宽.DS
00281052Rescale Intercept:The value b in relationship between stored values (SV) and the output units.Output units = m*SV + b.Required if Modality LUT Sequence (0028, 0030) is not present.截距:如果表明不同模态的LUT颜色对应表不存在时,则使用方程Units = m*SV + b,计算真实的像素值到呈现像素值。其中这个值为表达式中的b。DS
00281053Rescale Slope:m in the equation specified by Rescale Intercept (0028,1052).Required if Rescale Intercept is present.斜率.这个值为表达式中的m。DS
00281054Rescale Type:Specifies the output units of Rescale Slope (0028,1053) and Rescale Intercept (0028,1052).Enum: US=Unspecified Requried if Photometric Interpretation is MONOCHROME2, and Bits Stored is greater than 1.This specifies an identity Modality LUT transformation.输出值的单位.这是一个枚举值,LO

2.3 DataElement的VR

VR(Value Representation)值表示法是DICOM文件中特有的一种数据类型表示方式,规定了不同数据类型的含义及存储格,共有27种VR。在隐式VR的结构中会根据元素标识进行判断。Tag和VR是有对应关系的,每一种Tag其实是有一个固定的VR类型。

2.3.1 27种VR的含义及数据长度
VR含义允许的字符数据长度
CS - Code String代码字符串开头结尾可以有没有意义的空格的字符串,比如“CD123_4”大写字母,0-9,空格以及下划线字符最多 16 个字符
SH - Short String短字符串短字符串,比如:电话号码,ID等最多 16 个字符
LO - Long String 长字符串一个字符串,可能在开头、结尾填有空 格。比如“Introduction to DICOM”最多 64 个字符
ST - Short Text短文本可能包含一个或多个段落的字符串最多 1024 个字符
LT - Long Text短文本可能包含一个或多个锻炼的字符串,与LO相同,但可以更长最多 10240 个字符
UT - Unlimited Text无限制文本包含一个或多个段落的字符串,与 LT 类似最多(2的32次方–2)个字符
AE - Application Entity应用实体标识一个设备的名称的字符串,开头和 结尾可以有无意义的字符。比如 “MyPC01”最多 16 个字符
PN - Person Name病人姓名有插入符号()作为姓名分隔符的病人姓名。比如“SMITHJOHN” “Morrison- JonesSusan^^Ph.D, Chief Executive Officer”最多 64 个字符
UI - Unique Identifier (UID)唯一标识符一个用作唯一标识各类项目的包含 UID 的字符串。比如“1.2.840.10008.1.1”0-9 和半角句号(.)最多64 个字符
DA - Date日期格式为 YYYYMMDD 的字符串;YYYY 代表年;MM 代表月;DD 代表日。比 如“20050822”表示 2005 年 8 月 22 日0-98个字符
TM - Time时间格式为 HHMMSS 的字符串。FRAC; HH 表示小时(范围“00”-“23”); MM 表示分钟(范围“00”-“59”); 而 FRAC 包含秒的小数部分,即百万分 之一秒。比如“183200.00” 表示下午 6:320-9 和半角句号(.)最多 16 个字符
DT - Date Time日期时间格式为 YYYYMMDDHHMMSS. FFFFFF,串联的日期时间字符串。字符串的各部分从左至右是:年 YYYY;月 MM;日 DD;小时 HH;分钟 MM;秒 SS;秒的小数 FFFFFF。比如 20050812183000.00”表示 2005 年 8 月 12 日下午 18 点 30 分 00 秒0-9,加号,减号和半角句号最多 26 个字符
AS - Age String年龄字符串符合以下格式的字符串:nnnD, nnnW, nnnM, nnnY;其中 nnn 对于 D 来说表示天数,对于W来说表示周数,对于M 来说表示月数,对于 Y 来说表示岁数。 比如“018M”表示他的年龄是 18 个月0–9, D, W,M, Y4 个字符
IS - Integer String整型字符串表示一个整型数字的字符串。比如“-1234567”0-9,加号(+),减号(-)最多 12 个字符
DS - Decimal String 小数字符串表示定点小数和浮点小数。 比如“12345.67”,“-5.0e3”0-9,加号(+),减号(-), 最多 16 个字符 E,e 和半角句号(.)最多 16 个字符
SS - Signed Short有符号短型符号型二进制整数,长度 16 比特2 个字符
US - Unsigned Short 无符号短型无符号二进制整数,长度 16 比特2 个字符
SL - Signed Long有符号长型有符号二进制整数4 个字符
UL - Unsigned Long 无符号长型无符号二进制整数,长度 32 比特4 个字符
AT - Attribute Tag属性标签16 比特无符号整数的有序对,数据元素的标签4 个字符
FL - Floating Single 单精度浮点单精度二进制浮点数字4 个字符
FD - Floating Point Double双精度二进制浮点数字双精度二进制浮点数字8 个字符
OB - Other Byte String其他字节字符串字节的字符串(“其他”表示没有在VR中定义的内容)
OW - Other Word String其他单词字符串16 比特(2 字节)单词字符串
OF - Other Float String其他浮点字符串32 比特(4 个字节)浮点单词字符串
SQ - Sequence Items条目序列条目的序列
UN – Unknown未知字节的字符串,其中内容的编码方式是未知的

2.4 DataElement的数据长度

数据长度用两个字节存储了数据元素值的长度,所有DICOM数据元素都应该为偶数长度,若为奇数,追加空格或空NULL。当数据长度为0xFFFFFFFF时,数据一直到截止符为止。

3 未完待续

后续添加js解析dicom的内容

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值