医疗CT影像阈值分割与三维分析平台
项目介绍
本项目是一个基于MATLAB开发的医疗CT影像处理工具。它专注于DICOM序列的解析、Hounsfield单位(HU)转换以及特定解剖组织的阈值化分割。系统能够精确地从原始CT数据中提取目标组织(如骨骼或高密度造影剂区域),并通过形态学处理优化分割效果,最后提供定量的体积统计报告及直观的三维体绘制展示。该工具适用于医学制图、病灶区域初步定位以及解剖学量化分析的基础研究。
功能特性
- 灵活的数据导入:支持读取标准DICOM文件序列,并具备自动排序功能以保证解剖层面的连续性。
- 物理单位校准:通过DICOM元数据中的斜率与截距参数,将原始像素值转换为具备物理意义的Hounsfield单位(HU)。
- 交互式/自动化分割:内置默认骨骼提取阈值(200至3000 HU),支持对灰度范围的精确控制。
- 形态学优化:利用开运算去除噪声并填充组织内部可见的空洞,提高分割掩码的连通性。
- 定量分析报告:自动计算目标组织的总体积(cm³)、平均HU值、最大HU值及体素总数。
- 多维可视化:提供原始切片显示、分割边界实时预览以及基于等值面的三维模型重构。
- 内置模拟数据源:在用户未提供实际影像时,能够生成包含背景、软组织与骨骼结构的模拟体数据进行功能演示。
使用方法
- 启动MATLAB并运行程序。
- 在弹出的文件夹选择对话框中,定位并选择包含DICOM序列的目录。
- 如果用户取消选择,系统将自动生成一套模拟CT数据以演示完整流程。
- 程序随后会自动完成数据解析、单位转换、阈值分割、形态学清理及体积计算。
- 处理完成后,命令行将输出分割统计报告,并弹出包含原始切片、边界预览及三维重构模型的可视化界面。
系统要求
- MATLAB 环境(建议 R2018b 及以上版本)
- 图像处理工具箱 (Image Processing Toolbox)
- 计算机需具备基础的图形渲染能力以支持三维可视化
核心实现逻辑与算法分析
1. 影像读取与解剖学排序
系统首先扫描指定目录下的文件,并根据 DICOM 元数据中的 ImagePositionPatient 属性(特别是Z轴坐标)进行排序。这一步骤至关重要,因为它确保了在进行三维重构和体积计算时,数据的空间顺序符合真实的解剖结构,避免了因文件名读取顺序随机带来的逻辑混乱。
2. Hounsfield单位 (HU) 标准化
CT图像的原始存储值通常是设备相关的原始像素。为了获得跨设备的一致性,系统通过以下公式进行线性变换:
HU = 原始像素值 × RescaleSlope + RescaleIntercept
该过程确保了后续的阈值设定(如骨骼 > 200 HU)具有绝对的物理参考意义。
3. 阈值化分割与形态学预处理
- 二值化:基于预设的 HU 阈值范围对三维体数据进行截取,生成二值掩码。
- 噪声控制:采用了 2 像素半径的圆盘结构元素进行“开运算”(imopen),有效消除了图像中因传感器噪声产生的孤立小点。
- 孔洞填充:利用 imfill 算法处理切片内部的空隙,确保如骨髓腔等被包围的结构能够被视为一个完整的实体进行统计。
4. 空间建模与定量统计
- 体积计算:系统获取每层切片的像素间距(PixelSpacing)和层间距(SliceThickness),计算出单个体素的物理体积。通过统计掩码内体素的总数,实现对目标组织体积的精确量化。
- 三维重构:利用等值面提取算法(isosurface)在 0.5 阈值点提取二值掩码的表面三角网格。通过调整坐标系的纵横比(daspect),纠正了由于采样层厚与像素分辨率不一致导致的空间形变,从而真实还原解剖形态。
5. 模拟数据生成机制
在无外部输入时,系统通过 meshgrid 构建三维坐标场,利用数学公式模拟生成具有随机噪声、不同密度梯度(空气、软组织、骨骼)的几何体,为算法验证提供了标准的测试环境。