科学数据切片
在之前的文章中,我介绍过一些科学软件,它们要么分析图像信息,要么实际生成图像数据以供进一步分析。在本文中,我将介绍一个工具,您可以使用它来分析作为医疗诊断工作一部分生成的图像。
在几项诊断性医学测试中,会生成需要可视化和分析的复杂三维图像。这就是 3D Slicer 介入工作流程的地方。3D Slicer 是一款非常强大的工具,用于解剖、分析和可视化此类复杂的三维成像数据。它是完全开源的,不仅在 Linux 上可用,而且在 Windows 和 Mac OS X 上也可用。
它还构建为一个核心程序,具有插件架构。这意味着您可以添加额外的功能来完成全新的分析。
尽管 3D Slicer 是为处理医学图像而编写的,但开发团队一直非常谨慎地声明,该软件尚未获得临床使用批准,不应用于诊断工作。它旨在成为一种研究工具——因此它采用了开源许可证和插件架构,这有助于处理新创建的算法并开发下一代工具,这些工具将纳入诊断软件中。
安装过程包括直接从项目网站下载文件。对于 Linux,此文件是 gzipped tarball。您可以选择稳定版本或每日构建版本。下载 tarball 后,您可以使用以下命令解压缩它
tar xvzf Slicer-4.6.2-linux.amd64.tar.gz
这会将所有内容解压缩到名为 Slicer-4.6.2-linux-amd64 的子目录中。当然,如果您下载不同的版本,4.6.2 部分会有所不同。
解压缩所有内容后,您可以使用以下命令运行它
./Slicer-4.6.2-linux-amd64/Slicer
启动时,您最终会得到一个空项目(图 1)。

图 1. 首次启动 3D Slicer 时,您会看到一个空项目的显示,随时可以开始您的工作。
如果您正在尝试学习如何使用 3D Slicer,您可能一开始没有任何数据可供使用。幸运的是,主窗口上有一个按钮,允许您下载示例数据。当您单击它时,您会得到一个可供下载的潜在示例数据集列表。
对于本文的示例,单击“下载 MRHead”按钮并使用相关数据集(图 2)。

图 2. 提供了几个示例数据集供您学习,例如此头部 MRI 数据。
下载后,它会自动加载,您可以在三个 2D 切片查看窗口中看到结果。但是,第四个窗口用于 3D 渲染。为了在那里渲染图像,您需要将鼠标悬停在其中一个 2D 窗格左上角的图钉图标上。执行此操作后,会出现一个小弹出窗口,您可以在其中选择链接图标,以告知 3D Slicer 将所有三个切片链接在一起。然后,您可以单击链接图标旁边的眼睛图标,以告知 3D Slicer 渲染图像数据的 3D 视图(图 3)。

图 3. 您可以获得成像数据的 3D 渲染,以进行其他分析选项。
您可以使用鼠标操作此渲染图像,这允许您旋转它或更改缩放级别。还有几个内置的可视化选项,可通过单击 3D 窗格左上角的图钉图标来访问。这样做会弹出一个新窗口,您可以在其中操作 3D 图像,包括设置缩放级别和显示的标签,您甚至可以使图像自动旋转(图 4)。

图 4. 您可以使用几个内置函数来操作成像数据的 3D 渲染。
仅查看图像数据可能不是您想要对数据进行分析的唯一事情。这就是 3D Slicer 的插件架构真正发挥作用的地方。36 个不同类别中提供了 100 多个模块。您可以在窗口顶部中心位置的下拉框中找到它们(图 5)。

图 5. 提供了相当多的模块集合用于数据分析。
这是完成大量实际工作的地方。例如,假设您想将岛屿移除过滤器应用于您的图像。您可以从模块下拉列表中选择此选项,这会在左侧窗格中添加一个新条目。您可以在此处选择所需的选项,例如输入和输出卷以及最小岛屿大小(图 6)。然后,您可以单击“应用”并让您的计算机运行该过程。

图 6. 激活岛屿移除模块会在左侧打开一个选项窗格。
如果默认安装中包含的模块无法满足您对 3D Slicer 的需求怎么办?单击菜单项“查看→扩展管理器”以弹出一个新的管理窗口(图 7)。

图 7. 您可以使用扩展管理器添加和删除大量额外的模块。
安装新模块就像单击安装按钮一样简单。完成此操作后,您可能需要重新启动 3D Slicer,新模块才能使用。您可以通过选择扩展管理器中的“管理扩展”选项卡来卸载任何不再需要的模块。
由于在管理和操作三维图像数据方面投入了大量工作,因此 3D Slicer 的功能已开始在其他问题领域中使用。例如,有一个名为 SlicerAstro 的模块,您可以使用它来处理天文图像数据。它包含许多示例数据集,用于探索 SlicerAstro 中可用的功能。
加载其中一个示例数据集提供的输出与您在上面看到的非常相似。选择模块下拉列表并单击“天文→欢迎使用 SlicerAstro”条目会在左侧窗格中弹出新信息(图 8)。

图 8. 您可以为新安装的模块(例如 SlicerAstro)获取额外信息。
您可以在此处下载更多示例数据或访问有关如何使用 SlicerAstro 模块的教程。这只是您可能希望将 3D Slicer 扩展到您自己的三维图像分析问题领域的一个示例。
如果您有需要处理的复杂成像数据,希望这篇关于 3D Slicer 的简短介绍为您提供了一个您以前可能没有遇到的新选项。它在研究应用中被大量使用,并且凭借编写自己的扩展程序的能力,它应该能够处理您想抛给它的几乎任何工作。请注意,它尚未获准进行任何诊断工作。另请注意,网上有大量教程,涵盖许多不同的问题领域。一点点 Google-Fu 应该可以帮助您找到入门示例。