髋部和股骨的图像分割
本教程将演示如何从临床 CT 图像数据中分割和分离出硬组织解剖结构,并将分割后的数据表面网格划分后以 STL 文件格式导出。
本教程所用 DICOM 文件为教程数据文件夹 Data\Pelvis 中的 Pelvis_DICOM。为 Windows 版本为 Simpleware ScanIP 准备数据的存储默认路径为 C:\Program Files\Synopsys\Simpleware\T-2022.03\Data。
1. 导入数据
通过单击 File → New project from → DICOM images (或从软件的 Welcome 页面 New project from → DICOM images)导入 DICOM 文件。
在 Import DICOM files 对话框的 DICOM directory 区域,点击 Scan folder…
选中 Pelvis _ DICOM 文件夹,点击 Select folder。然后软件开始扫描改该文件夹下的 DICOM 文件,显示为一个系列图像。
保持默认设置,单击 Finish 将图像数据导入 Simpleware ScanIP。
将数据加载到 Simpleware ScanIP 后,将 Orientation 设置为 Medical 1(View → 2D slice views → Orientations)。点击 3D 视图工具栏的 Background volume render 按钮,确保背景提渲染是打开状态。3D 视图视图应显示为下图。
图:导入 DICOM 数据后的 3D 视图
为了更改可视化的灰度值范围,从而改变图像的对比度,您可以尝试通过 Window/Level 面板(View → 2D slice views)调整窗位的设置。
在继续下一步之前,单击 Full range 返回到灰度值的全范围。
2. 准备图像数据
在这个示例中,需要对图像数据进行重采样,使沿三个轴向的体素间距相同。在许多图像处理工作流程中,重采样是一个重要的步骤,因为将图像重采样获得一致的图像间隔可以简化后续的图像过滤和分割步骤。
通常我们会建议您先将图像裁剪到所需的感兴趣区域,从而减小图像的整体尺寸。
因为在手动分割的情况下,内存需求降低和需要处理像素数量的减少会使分割更容易、速度更快。在这个例子中,感兴趣区域(骨盆)填充着图像体积中的大部分,因此不需要裁剪。
2.1 图像的重采样
点击 Image processing → Transforms → Resample,打开 Resample 工具
Resample 工具中的设置如下:
勾选 Cubic/isotropic resampling 选项,Right/Left、Anterior/Posterior 和 Inferior/Superior 都被设置为 0.78125 mm。
将背景的 Interpolation method 设置为 Linear,目前 Mask 的Interpolation method 选项是不相关的,因为此时该项目文件中并没有掩膜。
点击 Apply 执行将图像数据重新采样为立方体体素。
图:Resample 对话框
2.2 保存项目
点击 File → Save as,打开对话框
使用现有文件名(或更改文件名)将项目保存到系统上方便的位置。
3. 分割感兴趣区域
在本教程中,要分割的感兴趣区域是硬组织(即骨盆和两个股骨)。初始的分割将使用 Threshold 工具中的预设范围,然后用 Split regions 工具将初次得到的掩膜分割为单独的骨盆和股骨。
3.1 开始图像数据的分割
点击 3D 视图上方工具栏的 Background volume render 按钮关闭体积渲染。
3.2 使用 threshold 工具的分割处理
点击 Image processing → Segmentation → Threshold
在 Threshold 工具面板:
点击上方的 CT presets 选项
在预设列表中选择 Bone,阈值的下限和上限分别为 230 和 3020。
在 Additional processing 区域勾选 Only keep the largest resulting island,该选择将会执行 Flood fill(洪水填充)操作,删除任何未与分割的骨骼解剖结构相连接的小岛。
确认 Apply on 为 All slices,Output 为 New mask。
点击 Apply。
图:Threshold 工具对话框中的设置
3.3 分割结构的可视化
点击 3D 视图左上方的 Expand view 放大视图按钮使其最大化
在 3D 视图工具栏,启动 Live 3D 预览展示生成的分割结果,模型应如下所示
图:初始骨盆分割的表面渲染
本教程的目的是演示从临床 CT 数据进行分割和测量的典型工作流程。骨骼解剖结构需要被分为三个部分:两个股骨和一个骨盆。接下来,将使用 Split regions 工具为每个所需的部位生成新的掩膜。
3.4 将初始分割结构分为 3 个部分
点击 3D 视图左上方的 Contract view 缩小视图按钮使其最小化
放大 XZ 轴向的 2D 切片视图,如您当前视图中无法看到 XYZ 方向,请前往 View → 2D slice views → Orientations调整。
定位到第 99 张切片,您可以通过:
点击 Image processing → Segmentation → Split regions,按照下图使用该工具
关闭 Split regions 工具。
将 3D 视图最大化,各个掩膜的显示如下图所示。检查掩膜的结构,如果涂画的掩膜绘制正确,则两个股骨应与骨盆准确分离。在软件左下 方Dataset browser 区域 Masks 分类下列出了各个部位的掩膜,点击前面的眼睛图标可切换其可见性。
图:使用 Split regions 工具操作后的结果
3.5 更改掩膜显示的颜色(可选项)
您可以按照自己的需要更改掩膜的颜色使其更接近逼真的骨骼颜色,为了使股骨和骨盆形成对比,我们可以选择预设的 Bone 和 Fat 对应的颜色。
在左下方的 Dataset browser,通过按下 Ctrl 键同时选中两个 Femur 掩膜,右键点击 Change colour → Fat。
对骨盆掩膜执行同样的操作,选择 Bone 对应的颜色。
4. 整理骨骼的分割(可选项)
对于某些工作流,可能需要进一步改进目前生成的分割结果。虽然在初始阈值分割中 Bone 对应的预设是可被广泛接受的灰度值范围,但它无法考虑到扫描设备、扫描方案和患者骨密度的变化。因此,在初始分割时骨骼解剖区域没有被很好地识别出,需要进一步地处理才能生成完全封闭且光滑的表面。以下(可选)步骤可以帮助您按改善分割。
改善左侧股骨的分割
仅显示 Femur (left) 掩膜:右键单击选择 Isolate,即 3D 视图中除左侧股骨掩膜,其余均不可见。
将 3D 视图最小化,放大 XZ 平面 2D 视图。
点击 Image processing → Segmentation → Paint工具
将切片定位在第 105 张,像下图这样涂画出缺失的那些像素区域。
图:XZ 平面第 105 张切片股骨头在使用 Paint 工具前(左)、后(右)展示
对切片 110、115、120、125 重复第四步。
将 XZ 切片视图最小化,放大 XY 切片视图,定位到切片 0 并用 Paint 工具绘制髓腔中缺失的像素。
点击 Image processing → Morphological → Close 过滤器
数字列表项目点击 Image processing → Additional → Cavity fill 过滤器
数字列表项目点击 Image processing → Additional → Smoothing filters → Recursive Gaussian过滤器
将 3D 驶入最大化,左侧股骨掩膜应如下图所示
如有需求,您可以采用同样的方法处理其余的 Femur (right)、Hip (left)、Hip (right) 和 Sacrum 掩膜。
图:进一步处理后的左侧股骨掩膜
5. 面网格划分和导出 STL 格式
本部分将以左侧股骨掩膜为例介绍用 Model preview 工具快速准备和导出 STL 格式的模型。
5.1 生成模型预览
确认左侧股骨为当前活动掩膜,即在左下方的 Dataset browser 中被选中。
点击 3D preview → General → Model preview 生成模型预览。
5.2 导出 STL 模型
点击 3D preview → General → Export,导出 3D 视图中显示的对象
在 STL Export 对话框中
选择
ASCII 或 Binary,具体取决于您自己需要的 STL 文件类型
-
数字列表项目出现 Export to STL (3D printing) 对话框
5.3 保存项目
6. 参考