郑州网站建设公司番禺网站建设

苏州惠捷汽车服务有限公司 2026/09/09 20:18:58

【医学图像算法手册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

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

网站建设团队潜江网站建设

当你的Android设备遭遇启动失败、系统卡顿或权限异常时,不必惊慌!本文为你提供一套从紧急救援到长期防护的完整解决方案。无论你是初次接触系统定制的新手,还是

2026/06/30 14:15:09

昆山网站建设网站首页建设

B站内容管理神器:告别手动刷新,开启智能追踪新时代【免费下载链接】bilibili-helperMirai Console 插件开发计划项目地址: https://gitc

2026/06/30 13:48:07

建设网站制作网站建设一条龙

超长网页截图的终极解决方案:告别手动拼接的烦恼【免费下载链接】full-page-screen-capture-chrome-extensionOne-click full page s

2026/06/30 10:58:52

南通网站建设黄冈网站建设

周五的江城,凛风裹着冬日的寒意从江上吹来,办公室的空调却像个顽固的 bug 一样,又热又干。李磊坐在工位前,屏幕亮着却没动过一行代码࿰

2026/06/30 10:58:52

内蒙古网站建设张家界网站建设

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等

2026/06/30 12:46:03

宜昌网站建设遵义网站建设

ORACLE_PDB_SID和ORACLE_SID的区别一个很小的问题,很容易被忽略的一个小问题,那就是ORACLE_PDB_SID和ORACLE_SID这两个环境变量;O

2026/06/30 12:55:03

九江网站建设天津网站建设公司

Linly-Talker:用AI唤醒记忆,为阿尔茨海默症患者构建有温度的数字陪伴在一间安静的客厅里,一位年过八旬的老人望着窗外喃喃自语:“我记得

2026/06/30 13:53:37

昆明网站建设上海营销型网站建设

Langchain-Chatchat如何实现多维度检索过滤?分类筛选功能在企业知识管理日益复杂的今天,一个常见的痛点是:员工明明上传了成百上千份文档ÿ

2026/06/30 11:11:54

莆田网站建设浙江省建设信息港网站

在现代软件开发生命周期中,团队通常采用基于分支的开发策略,如Git Flow、GitHub Flow等。每个功能分支、发布分支或修复分支都需要独立的持续集成验证。传统Jen

2026/06/30 10:31:20