Dicom 基本知识-数据结构篇

·  阅读 3705

阅读本文大概需要10分钟

'DICOM'数据是医疗影像的关键,一个.dcm 文件保存了单次诊断的全部信息(病人信息+图像数据),通过读取解析.dcm文件可以获取所有信息。

DICOM文件结构

打开任意一个.dcm文件,使用16进制打开,可以看到如下结构:

  • 导言

导言部分128字节,可以直接跳过。

  • 前缀

前缀标识的一个dicm文件,总共4个字节。

  • 数据元素

在前缀后面就是真正的数据元素来。

从数据元素开始,均是以key,value的形式提供,每个tag就是dicom里面定义好的字典,我们在解析时根据需要只需关注特定的tag即可,dicom全部的tag至少有 2000个。

好了,Dicom基本数据结构就这样,刚开始学习时可以自己动手解析下,体验下上面说的几个步骤。实际工作或者软件开发中都是使用第三方开源库进行操作,比如比较著名的 C++ 系的DCMTKJAVA系的 dcm4che, python系的 pyDicom等等,本文乃至以后的文章主要以 DCMTK为主.

DICOM-Tag说明

1 患者信息(整个SERIES一样)

Tag 描述 例子
0010 0010 patient’s name(患者名字) zhangsan
0010 0020 patient ID(患者ID) 100034251
0010 0030 patient’s birth date(患者生日) 19390506
0010 0040 patient’s sex(患者性别) F
0010 1010 patient’s age(患者年龄) 075Y
0018 0015 body part examined(扫描部位) Head

2 设备医院相关信息(整个SERIES一样)

Tag 描述 例子
0008 0060 Modality CT
0008 0070 Manufacture(生产厂家) SIMENS
0008 0080 Institution name(机构名称) SH PULMONARY HOSPITAL
0008 0080 Institution address(机构地址) NO.507zheng min road/shsh/71f6e4/yang puCN
0008 1010 Station name CTAWP65018
0008 1070 Operator’s name 5411

3 study信息(整个SERIES一样)

Tag 描述 例子
0008 0020 Study date 20141103
0008 0021 Series date 20141103
0008 0030 Study time 175733(时分秒)
0008 1030 Study description Head^headRoutineSeq
0008 103E Series description HeadSeq
0020 000D Study Instance UID 1.2.840.113820.862123.26.20141103173532
0020 000E Series Instance UID 1.3.12.2.1107.5.1.4.65018.30000014103107533800000272234
0020 0010 Study ID

4 图像信息(除注明的,整个SERIES相同)

Tag 描述 例子
0008 0008 Image type ORIGINAL\PRIMARY\AXIAL\CT_SOM5 SEQ
0008 0023 Image data 20141103(每张分开列)
0008 0033 Image time 175812(每张分开列)
0018 0050 Slice thickness(层厚) 2.4(每张分开列)
0018 0093 Percent sampling 100
0018 0094 Percent phase field of view 100
0018 5100 Patient position(患者姿态) HFS
0020 0013 Image number 3(每张分开列)
0020 0032 Image position(patient) -113.2783-291.2783\63.8(每张分开列)
0020 0037 Image Orientation(patient) 1\0\0\0\1\0(每张分开列)
0020 1041 Slice location(图像位置) 63.8(每张分开列)
0028 0002 Samples per pixel 1
0028 0004 Photometric Interpretation MONOCHROME2
0028 0010 Rows(图像列数) 512
0028 0011 Columns(图像行数) 512
0028 0030 Pixel spacing(像素间距) 0.443359375\0.443359375
0028 1050 Window center(窗位) 35\700(每张分开列)
0028 1051 Window wide(窗宽) 80\3200(每张分开列)

5 CT 设备信息(整个SERIES相同)

Tag 描述 例子
0018 0060 KVP(球管电压) 120
0018 0090 Data collection diameter(数据采集直径) 500
0018 1000 Device serial number(设备序列号) 65018
0018 1030 Protocol name(扫描序列名) 01_ThoraxRoutine
0018 1100 Reconstruction diameter(重建直径) 382
0018 1110 Distance source to detector(射线源与探测器间距) 1085.6
0018 1120 Gantry/detector tilt(机架倾斜角) 0
0018 1130 Table height(床高) 150
0018 1140 Rotation direction(旋转方向) CW
0018 1150 Exposure time(曝光时间) 500
0018 1151 X-ray tube current(球管电流) 446
0018 1152 Exposure(mA*s) 185
0018 1160 Filter type(滤波类型) FLAT
0018 1170 Generator power 34
0018 1190 Focal spot(焦点长度) 1.2
0018 1200 Date of last calibration(上次测量日期) 20140517
0018 1201 Time of last calibration(上次测量时间) 081655
0018 1210 Convolution kernel(卷积核) B50f
0018 9306 Single collimation width(可重建最小厚度) 0.60000
0018 9307 Total collimation width(准直宽度) 98.40000
0018 9309 Table speed(床速度) 92.00000
0018 9310 Table feed per rotation(床旋进比) 46.00000
0018 9311 Spiral pitch factor(步进) 1.200000
0018 9313 Data collection center(patient)(数据采集中心) 0.373047-149.626953-92.5000
0018 9318 Reconstruction target center(patient)(重建目标中心) 0.373047-149.626953-92.5000
0018 9323 Exposure modulation type(曝光模式类型) XYZ_EC
0018 9324 Estimated Dose Saving(辐射剂量) 64.125000
0018 9345 CTDIvol 9.445693

6 MR设备相关tag(整个SERIES相同)

Tag 描述 例子
0018 0020 Scanning sequence(序列类型) SE
0018 0021 Sequence variant sp
0018 0022 Scan options(扫描选项) PFP
0018 0023 Mr acquisition type(采集类型) 2D
0018 0024 Sequence name(序列名) *se2d1
0018 0025 Angio flag N
0018 0080 Repetition time(重复时间) 495
0018 0081 Echo time(回波时间) 7.8
0018 0083 Number of averages(重复次数) 1
0018 0084 Imageing frequency(成像频率) 63.666472
0018 0085 Imaged Nucleus(成像核) 1H
0018 0086 Echo number(回波数) 1
0018 0087 Magnetic field strength(磁场强度) 1.5
0018 0088 Spacing between slices(层间距) 3
0018 0089 Number of Phase Encoding steps(相位编码步数) 224
0018 0091 Echo train length(回波链长度) 1
0018 0095 Pixel bandwidth(像素带宽) 130
0018 1000 Device series number(设备序列号) 25788
0018 1030 Protocol name(扫描序列名) T1_se_tra
0018 1251 Transmitting coil(发射线圈) body
0018 1310 Acquisition matrix(采集矩阵) 0\256\256\0
0018 1312 Phase encoding direction(相位编码方向) ROW
0018 1314 Flip angle(翻转角) 90
0018 1315 Variable flip angle flag N
0018 1316 SAR 0.83983357382971
0018 1318 db/dt 0

DICOM-VR数据类型说明

VR 含义 允许的字符 数据长度
CS - Code String
代码字符串 开头结尾可以有没有意义的空格的字符串,比如“CD123_4” 大写字母,0-9,空格以及下划线字符 最多16 个字符
SH- Short String 短字符串 短字符串 最多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 病人姓名 有插入符号(^)作为姓名分隔符的病人姓名。比如“SMITH^JOHN” “Morrison- Jones^Susan^^^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 其他字节字符串
OW - Other Word String 其他单词字符串 6 比特(2 字节)单词字符串
OF - Other Float String 其他浮点字符串 32 比特(4 个字节)浮点单词字符串
SQ - Sequence Items 条目序列 条目的序列
UN – Unknown 未知 字节的字符串,其中内容的编码方式是未知的

DICOM 标准支持的数据集

Character Set Description Defined Term
Latin alphabet No. 1 ISO_IR 100
Latin alphabet No. 2 ISO_IR 101
Latin alphabet No. 3 ISO_IR 109
Latin alphabet No. 4 ISO_IR 110
Cyrillic ISO_IR 144
Arabic ISO_IR 127
Greek ISO_IR 126
Hebrew ISO_IR 138
Latin alphabet No. 5 ISO_IR 148
Japanese ISO_IR 13
Thai ISO_IR 166
Default repertoire ISO 2022 IR 6
Latin alphabet No. 1 ISO 2022 IR 100
Latin alphabet No. 2 ISO 2022 IR 101
Latin alphabet No. 3 ISO 2022 IR 109
Latin alphabet No. 4 ISO 2022 IR 110
Cyrillic ISO 2022 IR 144
Arabic ISO 2022 IR 127
Greek ISO 2022 IR 126
Hebrew ISO 2022 IR 138
Latin alphabet No. 5 ISO 2022 IR 148
Japanese ISO 2022 IR 13
Thai ISO 2022 IR 166
Japanese ISO 2022 IR 87
Japanese ISO 2022 IR 159
Korean ISO 2022 IR 149
分类:
代码人生
标签:
收藏成功!
已添加到「」, 点击更改