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

时间:2017-04-12 17:56:05

标签: image-processing multidimensional-array 3d python-3.5 point-clouds

Stack Overflow上的第一篇文章,请原谅我,如果这有点啰嗦。我正在编写一个程序,从大脑的俯视图中以2D Brain-MRI Voxels为输入,我的目标是从肿瘤的MRI中创建一个3D模型。我已经能够应用与MRI图像形成对比的阈值函数,使癌症成为significantly more visible(癌症变成纯黑色,而大脑的其余部分变成纯白色)。现在是困难的部分 - 我想使用边缘检测在MRI的每个切片中创建一个只有癌症的点云,然后从每个切片的集合点云创建网格,以模拟三个癌症尺寸。我认识到这个项目所涉及的困难,但是因为我正在使用的核磁共振成像位于XY平面的中心,只是当它们向上扫描通过大脑时沿Z轴向上挤出,我想我可以制作一系列2D点每个图像的云,然后在Z轴上均匀地“堆叠”点云,每个切片之间具有一致的Z距离。这听起来有用吗?如果是这样,我有大约一个月的时间来完成它,那么实现这一目标的简化方法是什么?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您想要使用点云的任何特殊原因?从点云构建表面网格可能是一个巨大的头痛,尤其是如果您首先处理基于体素的体积表示。处理医学成像(以及一般体素数据)时的常用方法是在感兴趣的体素体积上使用类似Marching Cubes算法的方法来创建多边形表面网格。

因此,作为一般方法,我建议首先构建肿瘤的3D体素体积。要执行此操作,请遍历切片并根据切片中的像素对比度阈值创建一些3D数组值。获得体素体积后,可以使用行进立方体/ tets算法来获得体积平滑的网格。我没有细节,但希望你能得到这个想法。

希望有所帮助!