dicom协议中文文档可去csdn下载
DICOM(DigitalImaging andCommunications inMedicine)是指医疗数字影像传输协定,是用于医学影像处理、储存、打印、传输的一组通用的标准协定。它包含了文件格式的定义以及网络通信协议。DICOM是以TCP/IP为基础的应用协定,并以TCP/IP联系各个系统。两个能接受DICOM格式的医疗仪器间,可通过DICOM格式的文件,来接收与交换影像及病人资料。
目前,DICOM被广泛应用于放射医疗,心血管成像以及放射诊疗诊断设备(X射线,CT,核磁共振,超声等),并且在眼科和牙科等其它医学领域得到越来越深入广泛的应用。
目前采用的标准是DICOM3.0,每一张图像中都携带着大量的信息,这些信息具体可以分为以下四类:
每一个DICOM Tag都是由两个十六进制数的组合来确定的,分别为Group和Element。如(0010,0010)这个Tag表示的是Patient’s Name,它存储着这张DICOM图像的患者姓名。
DICOM文件的整体结构如下表所示,先是128字节的导言部分(没有实际信息),接着是四个字节组成的"DICM"字符串,然后是若干DataElement元素依次排列直至文件结束。
导言 | "DICM" | DataElement | DataElement | ... | DataElement |
---|---|---|---|---|---|
128 Byte | 4 Byte | n Byte | n Byte | n Byte |
DataElement是存储文件信息的主体,DataElement的总体结构如下表所示:
Tag | VR(值表示法) | Len(数据长度) | 数据值(内容) |
---|---|---|---|
4 Byte | 2 Byte | 2 Byte | Len Byte |
Tag由2 Byte的组号(group)和2 Byte的元素号(element)组成,VR是DICOM特有的值表示法,关于值表示法的解释见下文
按照VR的类型以及是否显示VR,DataElement又分为三种具体的结构。
结构 | 组号 | 元素号 | VR | 预留 | 值长度 | 数据元素值 |
---|---|---|---|---|---|---|
字节数 | 2 | 2 | 2 | 2(0x00,0x00) | 4 | 由值长度确定 |
结构 | 组号 | 元素号 | VR | 值长度 | 数据元素值 |
---|---|---|---|---|---|
字节数 | 2 | 2 | 2 | 4 | 由值长度确定 |
结构 | 组号 | 元素号 | 值长度 | 数据元素值 |
---|---|---|---|---|
字节数 | 2 | 2 | 4 | 由值长度确定 |
DataElement的Tag用于标识Element的数据内容,比如病人信息、图像的格式等。
Tag总共有2000多个。
常用的主要组号:0002组描述设备通讯,0008组描述特征参数,0010组描述患者信息,0028组描述图像信息参数。
Dicom文件数据中所有dataElement从前到后
不受传输语法影响,总是以显示VR方式表示,用于定义了传输语法;
文件元Tag的dataElement,并没有多大的意义,它的值长度是整个组所有DataElement的字节长度,一个Dicom中可以只有一个文件元Tag,也可以有多个文件元Tag。
除了文件元Tag和像素Tag,其余的都是普通Tag数据。包括:图像宽,高,数据传输格式,病人姓名,病人生日,病历医院,病历科室,病情的描述等等数据;
表示DataElement存储的是病历的图像数据。
Group | Element | Tag Description | 中文解释 | VR |
---|---|---|---|---|
0010 | 0010 | Patient’s Name | 患者姓名 | PN |
0010 | 0020 | Patient ID | 患者ID | LO |
0010 | 0030 | Patient’s Birth Date | 患者出生日期 | DA |
0010 | 0032 | Patient’s Birth Time | 患者出生时间 | TM |
0010 | 0040 | Patient’s Sex | 患者性别 | CS |
0010 | 1030 | Patient’s Weight | 患者体重 | DS |
0010 | 21C0 | Pregnancy Status | 怀孕状态 | US |
Group | Element | Tag Description | 中文解释 | VR |
---|---|---|---|---|
0008 | 0050 | Accession Number:A RIS generated number that identifies the order for the Study. | 检查号:RIS的生成序号,用以标识做检查的次序. | SH |
0020 | 0010 | Study ID | 检查ID. | SH |
0020 | 000D | Study Instance UID:Unique identifier for the Study. | 检查实例号:唯一标记不同检查的号码. | UI |
0008 | 0020 | Study Date:Date the Study started. | 检查日期:检查开始的日期. | DA |
0008 | 0030 | Study Time:Time the Study started. | 检查时间:检查开始的时间. | TM |
0008 | 0061 | Modalities in Study | 一个检查中含有的不同检查类型. | CS |
0008 | 0015 | Body Part Examined | 检查的部位. | CS |
0008 | 1030 | Study Description | 检查的描述. | LO |
0010 | 1010 | Patient’s Age | 做检查时刻的患者年龄,而不是此刻患者的真实年龄. | AS |
Group | Element | Tag Description | 中文解释 | VR |
---|---|---|---|---|
0020 | 0011 | Series Number:A number that identifies this Series. | 序列号:识别不同检查的号码. | IS |
0020 | 000E | Series Instance UID:Unique identifier for the Series. | 序列实例号:唯一标记不同序列的号码. | UI |
0008 | 0060 | Modality | 检查模态(MRI/CT/CR/DR) | CS |
0008 | 103E | Series Description | 检查描述和说明 | LO |
0008 | 0021 | Series Date | 检查日期 | DA |
0008 | 0031 | Series Time | 检查时间 | TM |
0020 | 0032 | Image Position (Patient):The x, y and z coordinates of the upper left hand corner of the image, in mm. | 图像位置:图像的左上角在空间坐标系中的x,y,z坐标,单位是毫米. 如果在检查中,则指该序列中第一张影像左上角的坐标. | DS |
0020 | 0037 | Image Orientation (Patient):The direction cosines of the first row and the first column with respect to the patient. | 图像方位: | DS |
0018 | 0050 | Slice Thickness:Nominal slice thickness, in mm. | 层厚. | DS |
0018 | 0088 | Spacing Between Slices | 层与层之间的间距,单位为mm | DS |
0020 | 1041 | Slice Location:Relative position of exposure expressed in mm. | 实际的相对位置,单位为mm. | DS |
0018 | 0023 | MR Acquisition | CS | |
0018 | 0015 | Body Part Examined | 身体部位. | CS |
Group | Element | Tag Description | 中文解释 | VR |
---|---|---|---|---|
0008 | 0008 | Image Type:Image identification characteristics. | CS | |
0008 | 0018 | SOP Instance UID | SOP实例UID. | |
0008 | 0023 | Content Date:The date the image pixel data creation started. | 影像拍摄的日期. | DA |
0008 | 0033 | Content Time | 影像拍摄的时间. | TM |
0020 | 0013 | Image/Instance Number:A number that identifies this image. | 图像码:辨识图像的号码. | IS |
0028 | 0002 | Samples Per Pixel:Number of samples (planes) in this image. | 图像上的采样率. | US |
0028 | 0004 | Photometric Interpretation:Specifies the intended interpretation of the pixel data. | 光度计的解释,对于CT图像,用两个枚举值MONOCHROME1,MONOCHROME2.用来判断图像是否是彩色的,MONOCHROME1/2是灰度图,RGB则是真彩色图,还有其他. | CS |
0028 | 0010 | Rows: Number of rows in the image. | 图像的总行数,行分辨率. | US |
0028 | 0011 | Columns: Number of columns in the image. | 图像的总列数,列分辨率. | US |
0028 | 0030 | Pixel Spacing:Physical distance in the patient between the center of each pixel. | 像素间距.像素中心之间的物理间距. | DS |
0028 | 0100 | Bits Allocated:Number of bits allocated for each pixel sample. Each sample shall have the same number of bits allocated. | 分配的位数:存储每一个像素值时分配的位数,每一个样本应该拥有相同的这个值. | US |
0028 | 0101 | Bits Stored:Number of bits stored for each pixel sample. Each sample shall have the same number of bits stored. | 存储的位数:有12到16列举值.存储每一个像素用的位数.每一个样本应该有相同值. | US |
0028 | 0102 | High Bit:Most significant bit for pixel sample data. Each sample shall have the same high bit. | 高位. | US |
0028 | 0103 | Pixel 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 |
0028 | 1050 | Window Center | 窗位. | DS |
0028 | 1051 | Window Width | 窗宽. | DS |
0028 | 1052 | Rescale 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 |
0028 | 1053 | Rescale Slope:m in the equation specified by Rescale Intercept (0028,1052).Required if Rescale Intercept is present. | 斜率.这个值为表达式中的m。 | DS |
0028 | 1054 | Rescale 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 |
VR(Value Representation)值表示法是DICOM文件中特有的一种数据类型表示方式,规定了不同数据类型的含义及存储格,共有27种VR。在隐式VR的结构中会根据元素标识进行判断。Tag和VR是有对应关系的,每一种Tag其实是有一个固定的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-9 | 8个字符 |
TM - Time时间 | 格式为 HHMMSS 的字符串。FRAC; HH 表示小时(范围“00”-“23”); MM 表示分钟(范围“00”-“59”); 而 FRAC 包含秒的小数部分,即百万分 之一秒。比如“183200.00” 表示下午 6:32 | 0-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, Y | 4 个字符 |
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未知 | 字节的字符串,其中内容的编码方式是未知的 |
数据长度用两个字节存储了数据元素值的长度,所有DICOM数据元素都应该为偶数长度,若为奇数,追加空格或空NULL。当数据长度为0xFFFFFFFF时,数据一直到截止符为止。
添加js解析dicom的内容