在 Python 中通过 2D MRI 扫描将脑肿瘤重建为 3D 网格

Brain tumor reconstruction as 3D mesh via 2D MRI scans in Python

我的程序将 2D Brain-MRI Voxels 作为输入,从大脑的自上而下观察,我的目标是根据肿瘤的 MRI 创建 3D 模型。

我已经能够应用与 MRI 图像形成对比的阈值函数,使癌症 significantly more visible(癌症变成纯黑色,大脑的其余部分变成纯白色)。

现在是困难的部分 - 我想使用边缘检测在 MRI 的每个切片中创建一个仅包含癌症的点云,然后从每个切片的集体点云创建一个网格,以从三个维度对癌症进行建模。

我正在使用的 MRI 以 XY 平面为中心,并且在向上扫描大脑时简单地沿 Z 轴向上拉伸,我想我可以为每张图像制作一系列二维点云,并且然后 "stack" 点云均匀分布在 Z 轴上,每个切片之间的 Z 距离一致。

听起来一个月内可行吗?有没有关于完成此操作的简化方法的建议?

您想使用点云有什么特别的原因吗?从点云构建表面网格可能是一件令人头疼的事情,尤其是当您首先处理基于体素的体积表示时。处理医学成像(和一般的体素数据)时的常用方法是对感兴趣的体素体积使用类似 Marching Cubes 的算法来创建多边形表面网格。

因此,作为一般方法,我建议首先构建肿瘤的 3D 体素体积。为此,遍历切片并根据切片中的像素对比度阈值创建某种 3D 值数组。获得体素体积后,您可以使用行进 cubes/tets 算法来获得体积的漂亮平滑网格。我省略了细节,但希望你明白了。

希望对您有所帮助!