医学图像处理基础 - DICOM、CT 和 MRI 数据与技术
医学图像处理概述 - 成像模态与图像特征
医学图像处理分析来自 CT、MRI、超声、X 射线和 PET 系统的图像,用于辅助诊断和治疗规划。它具有与通用图像处理不同的独特挑战和要求。
主要成像模态:
- CT (计算机断层扫描): X 射线吸收的横截面成像。用于骨骼、肺部、腹部诊断。分辨率 0.5-1mm,16 位 (HU 值)
- MRI (磁共振成像): 利用氢核磁共振成像。软组织对比度优异。分辨率 0.5-2mm
- 超声 (US): 声波反射成像。实时、无创、低成本。分辨率 1-3mm
- PET (正电子发射断层扫描): 放射性示踪剂分布成像。可视化代谢活动用于癌症检测
- X 射线: 平片摄影。胸部、骨折诊断。2D 投影图像
医学图像的特殊性:
- 高位深度: CT 使用 12-16 位 (4096-65536 级)。标准 8 位处理会丢失信息
- 3D 体数据: CT/MRI 由数百张切片图像组成 3D 数据集
- 各向异性体素: 层内分辨率 (0.5mm) 与层间距 (1-5mm) 不同
- 标准合规: 必须遵循 DICOM 标准进行数据管理
医学图像处理要求算法的可靠性和可重复性,因为错误可能导致误诊。临床部署可能需要 FDA 或 PMDA 审批。
DICOM 标准 - 医学图像格式
DICOM (Digital Imaging and Communications in Medicine) 是医学图像存储、通信和显示的国际标准。它将图像数据与包括患者信息、采集参数和设备规格在内的元数据集成在一起。
DICOM 文件结构: DICOM 文件由标签-值对组成,每个标签由 (组号, 元素号) 标识:
- (0010,0010): Patient Name - 患者姓名
- (0020,000D): Study Instance UID - 检查唯一标识符
- (0028,0010): Rows - 图像行数
- (0028,0011): Columns - 图像列数
- (0028,1050): Window Center - 窗位
- (0028,1051): Window Width - 窗宽
- (7FE0,0010): Pixel Data - 像素数据
Python DICOM 处理: pydicom 库可读写 DICOM 文件。ds = pydicom.dcmread('image.dcm') 加载文件,ds.pixel_array 以 NumPy 数组形式访问像素数据。对于 CT 图像,需转换为 HU (Hounsfield 单位): hu = pixel_value × RescaleSlope + RescaleIntercept。
DICOM 层级结构: 按 Patient → Study → Series → Instance 组织。一次 CT 检查生成 200-1000 张切片图像,每张为一个 DICOM 文件。PACS (影像归档和通信系统) 在医院网络中集中管理和分发这些图像。
CT 图像窗宽窗位 - HU 值与显示控制
CT 图像以 Hounsfield 单位 (HU) 表示组织的 X 射线吸收系数。HU 值范围为 -1024 到 +3071 (12 位),但人眼只能同时分辨约 256 个灰度级,因此需要根据感兴趣的组织设置窗宽窗位。
代表性 HU 值:
- 空气: -1000 HU
- 肺: -500 HU
- 脂肪: -100 HU
- 水: 0 HU
- 软组织: +40 HU
- 骨骼 (松质骨): +300 HU
- 骨骼 (皮质骨): +1000 HU
窗位设置示例:
- 肺窗: WL = -600, WW = 1500。观察肺部精细结构
- 纵隔窗: WL = 40, WW = 400。增强软组织对比度
- 骨窗: WL = 300, WW = 1500。观察骨折和骨病变
- 脑窗: WL = 40, WW = 80。检测脑部细微密度差异
窗宽窗位实现:
display_value = (hu_value - (WL - WW/2)) / WW × 255
低于 WL-WW/2 的值裁剪为 0 (黑色),高于 WL+WW/2 的值裁剪为 255 (白色)。Python 实现: np.clip((hu - (wl - ww/2)) / ww * 255, 0, 255).astype(np.uint8)。同一 CT 数据只需改变窗位设置即可可视化不同结构 (肺、骨骼、软组织)。
医学图像分割 - 器官与病灶的自动提取
医学图像分割从图像中自动提取特定器官或病灶区域。它是治疗规划、定量评估和手术导航的关键基础过程。
传统方法:
- 阈值法: 按 HU 范围分离组织。对骨骼 (>200HU) 和空气 (<-500HU) 有效
- 区域生长: 从种子点出发连接相似像素进行扩展。用于肝脏和肾脏提取
- 水平集: 通过曲线演化方程演化轮廓。可处理复杂形状
- 图谱方法: 与标准脑图谱进行非刚性配准,用于脑区划分
深度学习方法:
- U-Net (2015): 医学分割的标准架构。编码器-解码器加跳跃连接,在有限数据下实现高精度。许多任务的 Dice 分数超过 0.9
- nnU-Net (2021): 自配置框架,自动优化每个数据集的网络结构、预处理和训练参数。在 23 个医学分割任务上达到最先进水平
- MONAI: 基于 PyTorch 的医学影像 AI 框架,提供 3D U-Net、Swin UNETR 等现代架构
3D 分割挑战: CT/MRI 是 3D 体数据,逐层 2D 处理无法保证连续性。3D U-Net 通过 3D 卷积保持空间连续性,但面临 GPU 显存限制 (512x512x512 约需 16GB)。基于块的训练配合滑动窗口推理可解决此限制。
MRI 图像特征与处理技术
MRI 利用强磁场和射频脉冲检测氢核信号,产生具有优异软组织对比度的图像。与 CT 不同,它不涉及辐射暴露,并通过改变采集参数提供多样化的对比度。
MRI 对比度:
- T1 加权: 脂肪呈亮 (白色),水呈暗 (黑色)。用于观察解剖结构
- T2 加权: 水呈亮 (白色),脂肪呈中等亮度。有效检测水肿和炎症
- FLAIR: 抑制脑脊液的 T2 加权。最适合脑部病变检测
- 弥散加权 (DWI): 对水分子扩散成像。对早期急性脑卒中检测至关重要
MRI 特有的预处理:
- 偏置场校正: 校正 RF 线圈不均匀性导致的强度不均。N4ITK 算法是标准方法,通过 SimpleITK 的
N4BiasFieldCorrectionImageFilter实现 - 颅骨剥离: 从脑部图像中去除颅骨和头皮,仅提取脑实质。BET (FSL) 和 SynthStrip (FreeSurfer) 是代表性工具
- 标准空间配准: 向 MNI 或 Talairach 空间进行非刚性配准。ANTs SyN 算法提供高精度
定量 MRI: 近年来 T1 mapping 和 T2 mapping 的进展可定量测量组织物理参数。与定性的常规图像不同,这些技术能够进行数值化的组织表征,用于早期疾病检测和治疗反应量化。
医学图像 AI 实践 - 从开发到临床部署
本节介绍开发和部署医学图像 AI 的具体工具、数据集、法规合规和质量管理,展示从研究到临床实施的完整流程。
开发工具和框架:
- MONAI: 由 NVIDIA 和伦敦国王学院开发。PyTorch 扩展,专门用于医学影像,提供 3D 数据加载器、医学变换和损失函数
- SimpleITK: ITK 的 Python 封装。提供配准、滤波和分割基础功能
- 3D Slicer: 开源医学图像查看器和分析平台。可通过插件扩展
- FreeSurfer: 专门用于脑部 MRI 分析。皮层厚度和脑区划分的标准工具
公开数据集:
- MICCAI Challenges: 年度医学图像分析竞赛,提供多样化的任务数据集
- Medical Segmentation Decathlon: 10 个器官分割任务。nnU-Net 基准测试
- TCIA (The Cancer Imaging Archive): 大规模癌症影像档案,提供数万例免费 CT/MRI 病例
法规与质量管理: 医学图像 AI 的临床使用在日本需要 PMDA 第二类医疗器械审批,在美国需要 FDA 510(k)/De Novo 申请。开发必须符合 IEC 62304 (医疗器械软件生命周期)。解决训练数据偏差 (种族、年龄、设备差异) 至关重要,建议进行多中心验证以确保稳健的临床性能。