当前位置: 首页 > news >正文

DICOM 基础知识:深入理解DICOM数据结构与标签说明

目录

DICOM 图像概念

DICOM 图像关键特性:

DICOM 文件结构

常见数据元素:

数据元素示例详解

DICOM-VR 数据类型说明

DICOM 标准支持的数据集

结语        


DICOM 图像概念

        DICOM(Digital Imaging and Communications in Medicine)是一种用于存储、传输和处理医学图像的国际标准。它确保了不同设备和系统之间的兼容性,使得医疗图像能够在医院内部及不同医院之间无缝共享。一个检查(Study)的 DICOM 文件保存了单次检查的全部信息,包括病人信息和图像数据。通过读取和解析 .dcm 文件,可以获取所有相关的信息。DICOM 标准不仅规范了图像格式,还规范了元数据的存储和传输方式,确保了数据的完整性和互操作性。例如,一个 DICOM 文件可以包含患者的基本信息、检查日期、设备类型、扫描参数以及实际的图像数据。这种结构化的数据存储方式使得医学图像能够在不同系统间有效流通,也为后续的图像处理和分析提供了坚实的基础。

deea3d6375894e65ae87a202263af42c.png

DICOM 图像关键特性:

  1. 标准化:提供一致的图像格式和数据结构。
  2. 互操作性:支持不同厂商设备之间的数据交换。
  3. 完整性:包含丰富的元数据,如患者信息、扫描参数等。

DICOM 文件结构

DICOM 文件由多个部分构成,每个部分都有特定的用途和格式,各部分信息有助于全面描述图像及其生成过程。

文件结构:

  1. 文件前缀(导言

    • 导言部分为128字节,通常为空,可以直接跳过。
    • 后接4字节的字符串 "DICM",通常为 "DICM",标识为 DICOM 文件。30c9d451070249c38d4fc0a1b1ac167f.png解读DICOM文件:第一步:跳过128个字节(00H)导言部分,读取“DICM”4个字节,确认是DICOM格式文件 第二步:读取重要的数据元素,如传输语法等。其中,0002组描述设备通讯,0008组描述特征参数,0010组描述患者信息,0028组描述图像信息参数。
  2. 数据集

    • 由多个数据元素组成,每个元素包含特定信息。DICOM最基本的结构单元——数据元素。
    • 数据元素
      • 标签(Tag):标识元素类型。
      • 值表示(VR):描述数据类型。
      • 长度:数据元素的字节长度。
      • 值字段:实际数据。

                8538cddcc4e946f9a48c19022fb3f367.png 

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中如下: 

30dcdc005e41472cb35b548a81b000b7.png

41ef7978d3914d5cb149cc5468f67b06.png

DICOM-Tag 说明

1. 患者信息(整个Study 一样)

Tag描述例子
0010 0010patient’s name (患者名字)lisi
0010 0020patient ID (患者ID)200067890
0010 0030patient’s birth date (患者生日)19780714
0010 0040patient’s sex (患者性别)M
0010 1010patient’s age (患者年龄)043Y

dicom中如下: 

b160034aa7ef48b38545a4cb6529d126.png

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

Tag描述例子
0008 0060ModalityMR
0008 0070Manufacture (生产厂家)GE Healthcare
0008 0080Institution name (机构名称)CITY 123 CENTER
0008 0080Institution address (机构地址)123 Main St, Anytown, USA
0008 1010Station nameMR_Station01
0008 1070Operator’s name1234

dicom中如下: 

098873523848427886d52d6e38017734.png

3. Study 信息(整个 STUDY 一样)

Tag描述例子
0008 0020Study date20220515
0008 0021Series date20220515
0008 0030Study time081530 (时分秒)
0008 1030Study descriptionAbdomen^RoutineScan
0008 103ESeries descriptionAbdomenSeq
0020 000DStudy Instance UID1.3.6.1.4.1.5962.99.1.123456.789012
0020 000ESeries Instance UID1.3.6.1.4.1.5962.99.1.789012.345678
0020 0010Study ID23456

dicom中如下: 

55c8a40a98134b13aaef28a2a1aec2b2.png

4、Series 信息(整个 SERIES 一样)

Tag描述例子
0008 0060ModalityMR
0008 103ESeries DescriptionBrainAxialSeq
0008 1070Operator’s Name5678
0018 0015Body Part Examined (扫描部位)Brain
0018 1030Protocol Name (扫描序列名)Brain_MRI_Routine
0020 000ESeries Instance UID1.3.6.1.4.1.5962.99.1.345678.901234
0020 0011Series Number1
0040 A375Requesting PhysicianDr. John Doe
0040 0244Performed Procedure Step Start Date20220515
0040 0245Performed Procedure Step Start Time083000
0040 0253Performed Procedure Step ID98765
0040 0254Performed Procedure Step DescriptionRoutine Brain MRI

 dicom中如下: 

0497aab585b04b5687abffb3c65f5fc1.png

5. 图像信息

Tag描述例子
0008 0008Image typeDERIVED\SECONDARY\AXIAL\CT_SOM5 SEQ
0008 0023Image date20220515(每张分开列)
0008 0033Image time083000(每张分开列)
0018 0050Slice thickness (层厚)3.0(每张分开列)
0018 0093Percent sampling90
0018 0094Percent phase field of view90
0018 5100Patient position (患者姿态)HFP
0020 0013Image number5(每张分开列)
0020 0032Image position (patient)-120.2783-320.2783\70.5(每张分开列)
0020 0037Image Orientation (patient)1\0\0\0\1\0(每张分开列)
0020 1041Slice location (图像位置)70.5(每张分开列)
0028 0002Samples per pixel1
0028 0004Photometric InterpretationMONOCHROME1
0028 0010Rows (图像列数)256
0028 0011Columns (图像行数)256
0028 0030Pixel spacing (像素间距)0.48828125\0.48828125
0028 1050Window center (窗位)50\600(每张分开列)
0028 1051Window wide (窗宽)120\2800(每张分开列)

dicom文件中如下:

8c36f0d54ac8498a95ef6953053d8319.png

6. MR 设备信息(整个 SERIES 相同)

Tag描述例子
0018 0060KVP (球管电压)110
0018 0090Data collection diameter (数据采集直径)450
0018 1000Device serial number (设备序列号)12345
0018 1030Protocol name (扫描序列名)02_HeadRoutine
0018 1100Reconstruction diameter (重建直径)400
0018 1110Distance source to detector (射线源与探测器间距)1050
0018 1120Gantry/detector tilt (机架倾斜角)5
0018 1130Table height (床高)140
0018 1140Rotation direction (旋转方向)CCW
0018 1150Exposure time (曝光时间)600
0018 1151X-ray tube current (球管电流)360
0018 1152Exposure(mA*s)220
0018 1160Filter type (滤波类型)SMOOTH
0018 1170Generator power40
0018 1190Focal spot (焦点长度)1.0
0018 1200Date of last calibration (上次测量日期)20210401
0018 1201Time of last calibration (上次测量时间)090000
0018 1210Convolution kernel(卷积核)B60f
0018 9306Single collimation width(可重建最小厚度)0.75000
0018 9307Total collimation width(准直宽度)100.00000
0018 9309Table speed (床速度)85.00000
0018 9310Table feed per rotation (床旋进比)42.00000
0018 9311Spiral pitch factor (步进)1.500000
0018 9313Data collection center (patient) (数据采集中心)-0.123456-150.654321-80.0000
0018 9318Reconstruction target center (patient) (重建目标中心)-0.123456-150.654321-80.0000
0018 9323Exposure modulation type (曝光模式类型)Z_EC
0018 9324Estimated Dose Saving(辐射剂量)50.000000
0018 9345CTDIvol8.123456

dicom中如下:  

7. MR设备相关tag

Tag描述例子
0018 0020Scanning sequence (序列类型)IR
0018 0021Sequence variantGR
0018 0022Scan options (扫描选项)NONE
0018 0023Mr acquisition type (采集类型)3D
0018 0024Sequence name (序列名)*gr2d2
0018 0025Angio flagY
0018 0080Repetition time (重复时间)600
0018 0081Echo time (回波时间)8.0
0018 0083Number of averages (重复次数)2
0018 0084Imaging frequency (成像频率)64.987654
0018 0085Imaged Nucleus (成像核)2H
0018 0086Echo number (回波数)2
0018 0087Magnetic field strength (磁场强度)3.0
0018 0088Spacing between slices (层间距)4
0018 0089Number of Phase Encoding steps (相位编码步数)256
0018 0091Echo train length (回波链长度)2
0018 0095Pixel bandwidth (像素带宽)150
0018 1000Device series number (设备序列号)54321
0018 1030Protocol name (扫描序列名)T2_ir_tra
0018 1251Transmitting coil (发射线圈)head
0018 1310Acquisition matrix (采集矩阵)0\512\512\0
0018 1312Phase encoding direction (相位编码方向)COLUMN
0018 1314Flip angle (翻转角)180
0018 1315Variable flip angle flagY
0018 1316SAR0.56789012345678
0018 1318db/dt1

dicom中如下:

518ac90b485d4c1aa5a0da98cbbec119.png

DICOM-VR 数据类型说明

VR含义允许的字符数据长度
CSCode String大写字母,0-9,空格,下划线最多16个字符
SHShort String短字符串最多16个字符
LOLong String字符串,可能有空格最多64个字符
STShort Text一个或多个段落的字符串最多1024个字符
LTLong Text一个或多个段落的字符串最多10240个字符
UTUnlimited Text一个或多个段落的字符串最多(2^32–2)个字符
AEApplication Entity标识设备名称的字符串最多16个字符
PNPerson Name插入符号作为姓名分隔符的字符串最多64个字符
UIUnique IdentifierUID 字符串最多64个字符
DADateYYYYMMDD 格式的字符串8个字符
TMTimeHHMMSS 格式的字符串最多16个字符
DTDate TimeYYYYMMDDHHMMSS.FFFFFF 格式的字符串最多26个字符
ASAge StringnnnD, nnnW, nnnM, nnnY 格式的字符串4个字符
ISInteger String整型数字字符串最多12个字符
DSDecimal String定点小数和浮点小数字符串最多16个字符
SSSigned Short符号型二进制整数,长度16比特2个字符
USUnsigned Short无符号二进制整数,长度16比特2个字符
SLSigned Long符号型二进制整数4个字符
ULUnsigned Long无符号二进制整数,长度32比特4个字符
ATAttribute Tag16比特无符号整数的有序对4个字符
FLFloating Single单精度二进制浮点数4个字符
FDFloating Double双精度二进制浮点数8个字符
OBOther Byte String其他字节字符串
OWOther Word String其他单词字符串,2字节
OFOther Float String其他浮点字符串,4字节
SQSequence Items条目序列
UNUnknown未知编码的字节字符串

DICOM 标准支持的数据集

Character Set DescriptionDefined Term
Latin alphabet No. 1ISO_IR 100
Latin alphabet No. 2ISO_IR 101
Latin alphabet No. 3ISO_IR 109
Latin alphabet No. 4ISO_IR 110
CyrillicISO_IR 144
ArabicISO_IR 127
GreekISO_IR 126
HebrewISO_IR 138
Latin alphabet No. 5ISO_IR 148
JapaneseISO_IR 13
ThaiISO_IR 166
Default repertoireISO 2022 IR 6
Latin alphabet No. 1ISO 2022 IR 100
Latin alphabet No. 2ISO 2022 IR 101
Latin alphabet No. 3ISO 2022 IR 109
Latin alphabet No. 4ISO 2022 IR 110
CyrillicISO 2022 IR 144
ArabicISO 2022 IR 127
GreekISO 2022 IR 126
HebrewISO 2022 IR 138
Latin alphabet No. 5ISO 2022 IR 148
JapaneseISO 2022 IR 13
ThaiISO 2022 IR 166
JapaneseISO 2022 IR 87
JapaneseISO 2022 IR 159
KoreanISO 2022 IR 149

结语        

        以上是 DICOM 基本数据结构及其标签的详细说明。刚开始学习时,可以自己动手解析一下 DICOM 文件,体验上述几个步骤。在实际工作或软件开发中,通常使用第三方开源库进行操作,比如比较著名的C#系的fo-dicom, C++ 系的 DCMTK,JAVA 系的 dcm4che,python 系的 pyDicom 等等。本文乃至以后的文章主要以fo-dicom、 DCMTK 为主进行举例说明。

相关文章:

DICOM 基础知识:深入理解DICOM数据结构与标签说明

目录 DICOM 图像概念 DICOM 图像关键特性: DICOM 文件结构 常见数据元素: 数据元素示例详解 DICOM-VR 数据类型说明 DICOM 标准支持的数据集 结语 DICOM 图像概念 DICOM(Digital Imaging and Communications in Medicine&…...

Git - 如何删除 push 过一次的文件链路追踪?

(以 target 文件夹为例)如果你已经在 .gitignore 中添加了 target/ 目录,但 target 文件夹仍然出现在 Git 的变更列表中,可能是因为它之前已经被添加到 Git 仓库中。即使你更新了 .gitignore,Git 仍然会跟踪这些文件。…...

软件测试学习总结

一.软件测试概念和目的 软件测试的概念: 测试模型(V模型) 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。 通常对软件测试的定义有两种描述: 定义1:软件测试是为了发现错误而执行程序的过程 定义2:…...

c语言错题——#define对应的查找替换

文章目录 一、题目 提示:以下是本篇文章正文内容,下面案例可供参考 一、题目 分析 结构体向最长的char对齐,前两个位段元素一共42位,不足8位,合起来占1字节,最后一个单独1字节,一共3字节。另外…...

Visual Basic介绍及简单例子

Visual Basic(简称 VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。 一、主要特点 易于学习和使用: Visual Basic 具有直观的可视化开发环境,使用户可以通过拖放控件和设置属性的方式快速创建用户界面。对于初学者来说,这种方式非常容易上手,无需深入了…...

Matlab学习01-矩阵

目录 一,矩阵的创建 1,直接输入法创建矩阵 2,利用M文件创建矩阵 3,利用其它文本编辑器创建矩阵 二,矩阵的拼接 1,基本拼接 1) 水平方向的拼接 2)垂直方向的拼接 3&#xf…...

【复旦微FM33 MCU 外设开发指南】外设篇1——硬件除法器

前言 本系列基于复旦微FM33LC0系列单片机的DataSheet编写,旨在提供一些开发指南。 本文章及本系列其他文章将持续更新,本系列其它文章请跳转【复旦微FM33 MCU 外设开发指南】总集篇 本文章最后更新日期:2024/10/24 文章目录 前言用途工作流…...

在元神操作系统启动时自动执行任务脚本

1. 背景 本文主要介绍让元神操作系统启动时自动执行任务脚本的方法,适用于无人化任务执行目的。将任务脚本及相关的应用程序准备好之后,把装有元神操作系统的U盘插入目标电脑,然后打开电脑电源就会自动完成所设置的任务。 2. 方法 &#x…...

JAVA学习-练习试用Java实现“判断是否为等边三角形的方法”

问题: 定义一个三角形类(Triangle),包含三个边长(a, b, c)属性,并实现一个判断是否为等边三角形的方法。 解答思路: 下面是一个简单的 Triangle 类定义,其中包含了三个…...

Leetcode 140 Word Break II

题意&#xff1a;给定一个string以及一个wordDict,要求返回一个vector<string> &#xff0c;这个vector中的string都是word Dict中的组合 Input: s “catsanddog”, wordDict [“cat”,“cats”,“and”,“sand”,“dog”] Output: [“cats and dog”,“cat sand dog”…...

文理学院数据库应用技术实验报告0

文理学院数据库应用技术实验报告0 实验内容 打开cmd,利用MySQL命令连接MySQL服务器。 mysql -u root -p查看当前MySQL服务实例使用的字符集(character)。 SHOW VARIABLES LIKE character_set_server;查看当前MySQL服务实例支持的字符序(collation)。 SHOW VARIABLES LIKE c…...

Bootstrap 4 按钮

Bootstrap 4 按钮 Bootstrap 4 是一个流行的前端框架,它提供了大量的组件和样式,用于快速开发响应式和移动设备优先的网页。在本文中,我们将重点讨论 Bootstrap 4 中的按钮组件,包括它们的基本用法、样式选项和自定义方法。 基本按钮 在 Bootstrap 4 中,创建一个基本按…...

【笔记】LLM位置编码之标准位置编码

标准位置编码 起源原理证明&#xff1a;对于任何固定的偏移量 k k k&#xff0c; P E p o s k PE_{posk} PEposk​可以表示为 P E p o s PE_{pos} PEpos​的线性函数。计算 P E p o s k 与 P E p o s PE_{posk} 与PE_{pos} PEposk​与PEpos​的内积结论 通俗理解缺点 起源 由…...

环 境 配 置

01 Ubuntu18.04中QT环境 1. 下载安装包 官网 http://download.qt.io/archive/qt/5.9/5.9.1/qt-opensource-linux-x64-5.9.1.run 国内镜像服务器 ​https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.9/5.9.1/qt-opensource-linux-x64-5.9.1.run QQ群 ...... 2. 安装 把下载…...

理解dbt artifacts及其实际应用

dbt是数据分析领域的一种变革性工具&#xff0c;它使数据专业人员能够对仓库中的数据进行转换和建模。它的强大功能之一是生成dbt artifacts&#xff1a;dbt运行的结构化输出&#xff0c;提供对dbt项目及其操作的深入了解。 dbt 构件介绍 dbt构件是每次dbt运行时生成的JSON文…...

100种算法【Python版】第15篇——KMP算法

本文目录 1 算法原理1.1 部分匹配表2 实现步骤3 示例说明4 python实例5 算法应用领域1 算法原理 KMP(Knuth-Morris-Pratt)算法是一种用于高效字符串匹配的算法。它通过预处理模式字符串,构建一个部分匹配表(前缀函数),以避免重复比较,从而提高匹配效率。KMP 算法通过利…...

【软件工程】软件项目管理/工程项目管理复习资料

第一章 软件项目管理概述习题 一. 填空题 实现项目目标的制约因素有&#xff08; 项目范围 &#xff09;、&#xff08; 成本 &#xff09;、&#xff08; 进度计划 &#xff09;、&#xff08; 客户满意度 &#xff09;等。 项目管理&#xff08; 启动过程组 &#xff09;、…...

C语言基础题(大合集2)

1. 时间转换 给定秒数 --> 输出秒数 转化成 时/分/秒 //时间转换 //给定秒数 --> 转换成 小时/分/秒 int main() {//输入int seconds 0;int h 0;//小时int m 0;//分钟int s 0;//秒scanf("%d", &seconds);//计算h seconds / 60 / 60;m seconds / 60…...

Stable Diffusion视频插件Ebsynth Utility使用方法

在Stable Diffusion中安装完Ebsynth Utility后&#xff0c;就可以开始试用了。 启动Stable Diffusion后&#xff0c;出面画面&#xff1a; 1、步骤1&#xff1a;视频分帧及生成蒙板帧 填入工程目录&#xff0c;选择上传所用的视频文件&#xff1a;注意对目录命名的要求-不能有…...

Ubuntu忘记密码

如果你忘记了WSL&#xff08;Windows Subsystem for Linux&#xff09;中Linux发行版的密码&#xff0c;可以按照以下步骤来重置密码&#xff1a; 一、对于Ubuntu或Debian等基于Debian的发行版&#xff08;以Ubuntu为例&#xff09; 关闭WSL实例&#xff08;如果正在运行&…...

使用Python实现深度学习模型:智能极端天气事件预测

极端天气事件,如暴雨、台风和热浪,往往会对人类社会和自然环境产生深远的影响。近年来,气象数据和深度学习技术的发展使得智能预测极端天气成为可能。通过训练深度学习模型,我们可以建立一个自动化的预测系统,从大量的历史气象数据中学习并预测未来的极端天气事件。这篇文…...

cJson函数解析

获取json版本号 CJSON_PUBLIC(const char*) cJSON_Version(void);设置自定义内存分配函数 CJSON_PUBLIC(void) cJSON_InitHooks(cJSON_Hooks* hooks);解析 JSON 字符串并将其转换为 cJSON 数据结构 CJSON_PUBLIC(cJSON *) cJSON_Parse(const char *value);用于解析指定长度的…...

基于SSM+微信小程序的跑腿平台管理系统(跑腿3)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的跑腿平台管理系统实现了管理员、接单员及用户三个角色。 1、管理员实现了首页、个人中心、管理员管理、基础数据管理、接单详情、跑腿任务管理等。 2、接单员实现了…...

mit6824-02-Lab1:MapReduce分布式实现

文章目录 写在前面总体思路分析代码实现参考链接 写在前面 具体上次写6824的第一篇文章已经过去了快一个月&#xff0c;上次学习了MapReduce论文相关理论后一直没有继续写代码实现&#xff0c;自己一边要搞论文没有整块时间实现&#xff0c;这两天抽写了相关代码&#xff0c;算…...

【NOIP普及组】 装箱问题

【NOIP普及组】 装箱问题 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 有一个箱子容量为V&#xff08;正整数&#xff0c;0&#xff1c;&#xff1d;V&#xff1c;&#xff1d;20000&#xff09;&#xff0c;同时有n个物品&#xff08;0&…...

Flutter主题最佳实践

Styling your Flutter app not only makes it visually appealing but also enhances the user experience. Flutter offers a robust theming system that helps you maintain consistency and customize your app’s look and feel. 设计 Flutter 应用程序的风格不仅能使其在…...

计算机网络:网络层 —— IPv4 数据报的首部格式

文章目录 IPv4数据报的首部格式IPv4数据报分片生存时间 TTL字段协议字段首部检验和字段 IPv4数据报的首部格式 IPv4 数据报的首部格式及其内容是实现 IPv4 协议各种功能的基础。 在 TCP/IP 标准中&#xff0c;各种数据格式常常以32比特(即4字节)为单位来描述 固定部分&#x…...

MySQL 之 索引

索引 概述 是帮助MySQL高效获取数据的数据结构&#xff0c;在数据之外&#xff0c;数据库系统还维护着满足特定查找算法的数据结构&#xff0c;这些数据结构以某种方式引用&#xff08;指向&#xff09;数据&#xff0c;这样就可以在数据结构上实现高效查找算法&#xff0c;这种…...

手动探针台的用途及组成部分

探针台系统分为手动探针台与自动探针台&#xff0c;以下我们主要分析手动探针台。 探针台用途&#xff1a; 手动探针台又称探针测试台主要用途是为半导体芯片的电参数测试提供一个测试平台&#xff0c;探针台可吸附多种规格芯片&#xff0c;并提供多个可调测试针以及探针座&am…...

❤️算法笔记❤️-(每日一刷-5、最长回文串)

文章目录 题目思路解答 题目 给你一个字符串 s&#xff0c;找到 s 中最长的 回文 子串。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。示例 2&#xff1a; 输入&#xf…...