news 2026/4/18 3:42:50

【医学图像算法手册002】DICOM 存储格式与机制:结构化设计与开发者视角的系统解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【医学图像算法手册002】DICOM 存储格式与机制:结构化设计与开发者视角的系统解析

【医学图像算法手册002】DICOM 存储格式与机制:结构化设计与开发者视角的系统解析

在医学影像系统中,DICOM(Digital Imaging and Communications in Medicine)既是文件格式,也是通信协议,更是数据语义标准
它统一了医疗影像在不同设备、机构和软件之间的交换方式,是所有医学图像算法的基础输入。

本文从开发者视角,在保证逻辑性与结构清晰的前提下,层层拆解 DICOM 的核心机制,让你能够快速理解其设计原理,并立即应用于实际工程中。


一、为什么需要 DICOM:医学影像存储的核心问题

医学图像与普通图像不同,它不仅仅是像素矩阵,还必须同时包含丰富的临床语义信息:

  1. 患者信息:姓名、性别、出生日期、病历号等
  2. 检查设备参数:CT 扫描仪、MRI 系统型号,曝光剂量等
  3. 空间坐标系:每个像素/体素在患者身体中的实际三维位置
  4. 成像序列结构:影像通常由 Series(序列)和 Slice(切片)组成,顺序非常重要
  5. 单帧或多帧图像:例如 MRI 的多时间点序列或超声的动态视频
  6. 网络传输语义:支持 PACS/RIS/HIS 系统之间的可靠查询和传输

通用图像格式(PNG、JPG、TIFF 等)无法同时承载以上内容,因此需要一个“图像 + 临床语义 + 通信标准”的统一容器 ——DICOM

开发者视角:理解 DICOM 的必要性不仅是为了读取像素,更是为了保证算法能够准确利用患者信息、空间信息和序列结构。


二、DICOM 文件结构:从整体认识其组织方式

一个.dcm文件包含三个主要部分:

+----------------------------------------+ | 128-byte File Preamble | +----------------------------------------+ | DICM Magic Number (4 bytes) | +----------------------------------------+ | Data Elements (Tag + VR + Length + Value) +----------------------------------------+
  • File Preamble(128 字节文件前缀):通常为空,便于识别文件类型
  • Magic Number “DICM”:标识这是一个标准 DICOM 文件
  • Data Elements(数据元素):存储所有信息,包括像素数据和 Header 标签

每个数据元素的结构为:

(Tag) (VR) (Length) (Value)
  • Tag:唯一标识数据元素,由(Group, Element)组成,例如(0010,0010)表示患者姓名
  • VR(Value Representation):数据类型,例如PN(Person Name)、DS(Decimal String)、US(Unsigned Short)
  • Length:Value 的字节长度
  • Value:实际存储的数据

示例:

(0010,0010) PN 8 "Zhang^San" # PatientName

开发者提示:Tag 是 DICOM 数据的“键”,Value 是“值”,VR 告诉你值的类型。理解这一点是读取和解析 DICOM 文件的第一步。


三、元数据(Header)体系:医学图像“语义”的来源

Header 是 DICOM 文件最关键的部分,它定义了图像的全部属性。

3.1 核心 Header 标签及含义

模块标签 (Tag)VR含义
患者信息(0010,0010)PNPatientName(患者姓名)
患者信息(0010,0020)LOPatientID(病历号)
图像尺寸(0028,0010)/(0028,0011)USRows / Columns(行数/列数)
图像类型(0008,0060)CSModality(成像模态,如 CT/MR/X-ray)
空间信息(0020,0032)DSImagePositionPatient(左上角像素在患者坐标系的位置)
空间信息(0020,0037)DSImageOrientationPatient(行/列方向向量,方向余弦)
像素间距(0028,0030)DSPixelSpacing(行列方向像素间距,单位 mm)
像素数据(7FE0,0010)OB/OWPixelData(原始像素矩阵)
强度转换(0028,1053)/(0028,1052)DSRescaleSlope / RescaleIntercept(CT HU 转换系数)

3.2 三维空间坐标公式

通过 DICOM Header 信息,可以将像素坐标(r,c)(r, c)(r,c)映射到患者空间坐标P⃗\vec{P}P:

P⃗=IPP⃗+r⋅Sr⋅X⃗+c⋅Sc⋅Y⃗\vec{P} = \vec{IPP} + r \cdot S_r \cdot \vec{X} + c \cdot S_c \cdot \vec{Y}P=IPP+rS

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!