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

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

http://www.cnnetsun.cn/news/5104.html

相关文章:

  • ESP32智能网络收音机:从DIY制作到智能家居音乐系统的完美进化
  • 17、商业与科技:控制的终结与未来走向
  • GC5035 CSP CMOS图像传感器:重新定义移动摄影体验的高性能解决方案
  • 免费学术助手Sci-Hub X Now:零基础安装使用全攻略
  • 微博文本情感分析:大数据分析中的 Python 实践
  • 5分钟打造惊艳代码展示:iCSS CodeBlock终极指南
  • OpenIM Server:构建企业级即时通讯系统的完整解决方案
  • AntdUI终极指南:快速上手现代化WinForm界面开发
  • 告别低质AI视频!Wan2.2-T2V-A14B带来影院级视觉体验
  • 200MB实现千亿级语义理解:Google EmbeddingGemma重塑边缘AI格局
  • 容易出错的电子签证系统预示数字身份证前景
  • PostgreSQL pgvector终极指南:快速构建企业级AI向量数据库
  • 24、IA-32指令集详解
  • Notion Android版终极安装指南:5步轻松搞定
  • GPX Studio:户外爱好者的终极GPS轨迹编辑指南
  • 博士+副高一个月工资8600元?65位高校教师接龙晒工资
  • 【Dify检索排序优化指南】:掌握重排序配置的5大核心技巧
  • VideoSrt智能字幕生成工具完整教程
  • 【经验分享】之C++编译报错:undefined reference to
  • 16、Azure 备份与恢复及混合云配置全解析
  • 17、本地网络与Azure虚拟网络连接全攻略
  • EdXposed框架完整部署指南:从零开始构建你的Hook王国
  • 34、网络服务配置与管理全解析
  • 36、搭建和配置 Linux 邮件服务全攻略
  • 38、Red Hat KVM 虚拟化实战指南
  • 2025云原生DevOps专家养成指南:从技能构建到职业跃迁
  • windows下串口类封装(亲测好用)
  • 技术深度:Infoseek 媒体发布系统的微服务架构与二次开发实战
  • SpringBoot3实战:SSE实时推送
  • 【Dify的Tesseract 5.3手写体识别终极指南】:揭秘高精度识别背后的核心算法与调优技巧