DICOM 基础知识:深入理解DICOM数据结构与标签说明
目录
DICOM 图像概念
DICOM 图像关键特性:
DICOM 文件结构
常见数据元素:
数据元素示例详解
DICOM-VR 数据类型说明
DICOM 标准支持的数据集
结语
DICOM 图像概念
DICOM(Digital Imaging and Communications in Medicine)是一种用于存储、传输和处理医学图像的国际标准。它确保了不同设备和系统之间的兼容性,使得医疗图像能够在医院内部及不同医院之间无缝共享。一个检查(Study)的 DICOM 文件保存了单次检查的全部信息,包括病人信息和图像数据。通过读取和解析 .dcm 文件,可以获取所有相关的信息。DICOM 标准不仅规范了图像格式,还规范了元数据的存储和传输方式,确保了数据的完整性和互操作性。例如,一个 DICOM 文件可以包含患者的基本信息、检查日期、设备类型、扫描参数以及实际的图像数据。这种结构化的数据存储方式使得医学图像能够在不同系统间有效流通,也为后续的图像处理和分析提供了坚实的基础。
DICOM 图像关键特性:
- 标准化:提供一致的图像格式和数据结构。
- 互操作性:支持不同厂商设备之间的数据交换。
- 完整性:包含丰富的元数据,如患者信息、扫描参数等。
DICOM 文件结构
DICOM 文件由多个部分构成,每个部分都有特定的用途和格式,各部分信息有助于全面描述图像及其生成过程。
文件结构:
-
文件前缀(导言):
- 导言部分为128字节,通常为空,可以直接跳过。
- 后接4字节的字符串 "DICM",通常为 "DICM",标识为 DICOM 文件。解读DICOM文件:第一步:跳过128个字节(00H)导言部分,读取“DICM”4个字节,确认是DICOM格式文件 第二步:读取重要的数据元素,如传输语法等。其中,0002组描述设备通讯,0008组描述特征参数,0010组描述患者信息,0028组描述图像信息参数。
-
数据集:
- 由多个数据元素组成,每个元素包含特定信息。DICOM最基本的结构单元——数据元素。
- 数据元素:
- 标签(Tag):标识元素类型。
- 值表示(VR):描述数据类型。
- 长度:数据元素的字节长度。
- 值字段:实际数据。
1、DICOM数据集合是由DICOM数据元素按照一定的顺序排列组成的 DICOM数据元素由四部分组成:标签,VR,数据长度和数据域 .
2、 标签:(组号,元素号): 所有双数组编号提供DICOM数据字典的供标准数据使用,所有单数组编号供私用数据使用。
3、VR:表示该数据元素中的数据是什么形式的,可查阅DICOM标准第五部分的24页。VR是可选的,取决于协商的传输数据格式 数据长度:所有DICOM数据元素都应该为偶数长度,若为奇数,追加空格或空NULL。
常见数据元素:
- 患者信息:如姓名、出生日期、性别。
- 检查参数:如扫描日期、设备类型。
- 图像数据:实际的像素值,构成图像内容。
DICOM 文件通过这些结构化数据元素,提供了全面且可扩展的信息存储方式,使得医学图像能够在不同系统间有效流通。
数据元素示例详解
在前缀后面是真正的数据元素。数据元素以 key-value 的形式提供,每个 tag 就是 DICOM 里定义好的字典。解析时根据需要只需关注特定的 tag。DICOM 全部的 tag 至少有 2000 个。
DICOM 文件包含的四级属性,patient(病人),study(检查),series(序列),SOP(影像)。 每一级别需要具有能够唯一标识这个等级属性的键值,类似关系数据库中的主键。病人对应的为Patient id, 检查 study instance UID, 序列 Series Instanceuid,影像 SOP Instance UID.
dicom中如下:
DICOM-Tag 说明
1. 患者信息(整个Study 一样)
Tag | 描述 | 例子 |
---|---|---|
0010 0010 | patient’s name (患者名字) | lisi |
0010 0020 | patient ID (患者ID) | 200067890 |
0010 0030 | patient’s birth date (患者生日) | 19780714 |
0010 0040 | patient’s sex (患者性别) | M |
0010 1010 | patient’s age (患者年龄) | 043Y |
dicom中如下:
2. 设备医院相关信息(整个 SERIES 一样)
Tag | 描述 | 例子 |
---|---|---|
0008 0060 | Modality | MR |
0008 0070 | Manufacture (生产厂家) | GE Healthcare |
0008 0080 | Institution name (机构名称) | CITY 123 CENTER |
0008 0080 | Institution address (机构地址) | 123 Main St, Anytown, USA |
0008 1010 | Station name | MR_Station01 |
0008 1070 | Operator’s name | 1234 |
dicom中如下:
3. Study 信息(整个 STUDY 一样)
Tag | 描述 | 例子 |
---|---|---|
0008 0020 | Study date | 20220515 |
0008 0021 | Series date | 20220515 |
0008 0030 | Study time | 081530 (时分秒) |
0008 1030 | Study description | Abdomen^RoutineScan |
0008 103E | Series description | AbdomenSeq |
0020 000D | Study Instance UID | 1.3.6.1.4.1.5962.99.1.123456.789012 |
0020 000E | Series Instance UID | 1.3.6.1.4.1.5962.99.1.789012.345678 |
0020 0010 | Study ID | 23456 |
dicom中如下:
4、Series 信息(整个 SERIES 一样)
Tag | 描述 | 例子 |
---|---|---|
0008 0060 | Modality | MR |
0008 103E | Series Description | BrainAxialSeq |
0008 1070 | Operator’s Name | 5678 |
0018 0015 | Body Part Examined (扫描部位) | Brain |
0018 1030 | Protocol Name (扫描序列名) | Brain_MRI_Routine |
0020 000E | Series Instance UID | 1.3.6.1.4.1.5962.99.1.345678.901234 |
0020 0011 | Series Number | 1 |
0040 A375 | Requesting Physician | Dr. John Doe |
0040 0244 | Performed Procedure Step Start Date | 20220515 |
0040 0245 | Performed Procedure Step Start Time | 083000 |
0040 0253 | Performed Procedure Step ID | 98765 |
0040 0254 | Performed Procedure Step Description | Routine Brain MRI |
dicom中如下:
5. 图像信息
Tag | 描述 | 例子 |
---|---|---|
0008 0008 | Image type | DERIVED\SECONDARY\AXIAL\CT_SOM5 SEQ |
0008 0023 | Image date | 20220515(每张分开列) |
0008 0033 | Image time | 083000(每张分开列) |
0018 0050 | Slice thickness (层厚) | 3.0(每张分开列) |
0018 0093 | Percent sampling | 90 |
0018 0094 | Percent phase field of view | 90 |
0018 5100 | Patient position (患者姿态) | HFP |
0020 0013 | Image number | 5(每张分开列) |
0020 0032 | Image position (patient) | -120.2783-320.2783\70.5(每张分开列) |
0020 0037 | Image Orientation (patient) | 1\0\0\0\1\0(每张分开列) |
0020 1041 | Slice location (图像位置) | 70.5(每张分开列) |
0028 0002 | Samples per pixel | 1 |
0028 0004 | Photometric Interpretation | MONOCHROME1 |
0028 0010 | Rows (图像列数) | 256 |
0028 0011 | Columns (图像行数) | 256 |
0028 0030 | Pixel spacing (像素间距) | 0.48828125\0.48828125 |
0028 1050 | Window center (窗位) | 50\600(每张分开列) |
0028 1051 | Window wide (窗宽) | 120\2800(每张分开列) |
dicom文件中如下:
6. MR 设备信息(整个 SERIES 相同)
Tag | 描述 | 例子 |
---|---|---|
0018 0060 | KVP (球管电压) | 110 |
0018 0090 | Data collection diameter (数据采集直径) | 450 |
0018 1000 | Device serial number (设备序列号) | 12345 |
0018 1030 | Protocol name (扫描序列名) | 02_HeadRoutine |
0018 1100 | Reconstruction diameter (重建直径) | 400 |
0018 1110 | Distance source to detector (射线源与探测器间距) | 1050 |
0018 1120 | Gantry/detector tilt (机架倾斜角) | 5 |
0018 1130 | Table height (床高) | 140 |
0018 1140 | Rotation direction (旋转方向) | CCW |
0018 1150 | Exposure time (曝光时间) | 600 |
0018 1151 | X-ray tube current (球管电流) | 360 |
0018 1152 | Exposure(mA*s) | 220 |
0018 1160 | Filter type (滤波类型) | SMOOTH |
0018 1170 | Generator power | 40 |
0018 1190 | Focal spot (焦点长度) | 1.0 |
0018 1200 | Date of last calibration (上次测量日期) | 20210401 |
0018 1201 | Time of last calibration (上次测量时间) | 090000 |
0018 1210 | Convolution kernel(卷积核) | B60f |
0018 9306 | Single collimation width(可重建最小厚度) | 0.75000 |
0018 9307 | Total collimation width(准直宽度) | 100.00000 |
0018 9309 | Table speed (床速度) | 85.00000 |
0018 9310 | Table feed per rotation (床旋进比) | 42.00000 |
0018 9311 | Spiral pitch factor (步进) | 1.500000 |
0018 9313 | Data collection center (patient) (数据采集中心) | -0.123456-150.654321-80.0000 |
0018 9318 | Reconstruction target center (patient) (重建目标中心) | -0.123456-150.654321-80.0000 |
0018 9323 | Exposure modulation type (曝光模式类型) | Z_EC |
0018 9324 | Estimated Dose Saving(辐射剂量) | 50.000000 |
0018 9345 | CTDIvol | 8.123456 |
dicom中如下:
7. MR设备相关tag
Tag | 描述 | 例子 |
---|---|---|
0018 0020 | Scanning sequence (序列类型) | IR |
0018 0021 | Sequence variant | GR |
0018 0022 | Scan options (扫描选项) | NONE |
0018 0023 | Mr acquisition type (采集类型) | 3D |
0018 0024 | Sequence name (序列名) | *gr2d2 |
0018 0025 | Angio flag | Y |
0018 0080 | Repetition time (重复时间) | 600 |
0018 0081 | Echo time (回波时间) | 8.0 |
0018 0083 | Number of averages (重复次数) | 2 |
0018 0084 | Imaging frequency (成像频率) | 64.987654 |
0018 0085 | Imaged Nucleus (成像核) | 2H |
0018 0086 | Echo number (回波数) | 2 |
0018 0087 | Magnetic field strength (磁场强度) | 3.0 |
0018 0088 | Spacing between slices (层间距) | 4 |
0018 0089 | Number of Phase Encoding steps (相位编码步数) | 256 |
0018 0091 | Echo train length (回波链长度) | 2 |
0018 0095 | Pixel bandwidth (像素带宽) | 150 |
0018 1000 | Device series number (设备序列号) | 54321 |
0018 1030 | Protocol name (扫描序列名) | T2_ir_tra |
0018 1251 | Transmitting coil (发射线圈) | head |
0018 1310 | Acquisition matrix (采集矩阵) | 0\512\512\0 |
0018 1312 | Phase encoding direction (相位编码方向) | COLUMN |
0018 1314 | Flip angle (翻转角) | 180 |
0018 1315 | Variable flip angle flag | Y |
0018 1316 | SAR | 0.56789012345678 |
0018 1318 | db/dt | 1 |
dicom中如下:
DICOM-VR 数据类型说明
VR | 含义 | 允许的字符 | 数据长度 |
---|---|---|---|
CS | Code String | 大写字母,0-9,空格,下划线 | 最多16个字符 |
SH | Short String | 短字符串 | 最多16个字符 |
LO | Long String | 字符串,可能有空格 | 最多64个字符 |
ST | Short Text | 一个或多个段落的字符串 | 最多1024个字符 |
LT | Long Text | 一个或多个段落的字符串 | 最多10240个字符 |
UT | Unlimited Text | 一个或多个段落的字符串 | 最多(2^32–2)个字符 |
AE | Application Entity | 标识设备名称的字符串 | 最多16个字符 |
PN | Person Name | 插入符号作为姓名分隔符的字符串 | 最多64个字符 |
UI | Unique Identifier | UID 字符串 | 最多64个字符 |
DA | Date | YYYYMMDD 格式的字符串 | 8个字符 |
TM | Time | HHMMSS 格式的字符串 | 最多16个字符 |
DT | Date Time | YYYYMMDDHHMMSS.FFFFFF 格式的字符串 | 最多26个字符 |
AS | Age String | nnnD, nnnW, nnnM, nnnY 格式的字符串 | 4个字符 |
IS | Integer String | 整型数字字符串 | 最多12个字符 |
DS | Decimal String | 定点小数和浮点小数字符串 | 最多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 Double | 双精度二进制浮点数 | 8个字符 |
OB | Other Byte String | 其他字节字符串 | |
OW | Other Word String | 其他单词字符串,2字节 | |
OF | Other Float String | 其他浮点字符串,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 |
结语
以上是 DICOM 基本数据结构及其标签的详细说明。刚开始学习时,可以自己动手解析一下 DICOM 文件,体验上述几个步骤。在实际工作或软件开发中,通常使用第三方开源库进行操作,比如比较著名的C#系的fo-dicom, C++ 系的 DCMTK,JAVA 系的 dcm4che,python 系的 pyDicom 等等。本文乃至以后的文章主要以fo-dicom、 DCMTK 为主进行举例说明。