如何在python中将CT分割转换为3D模型



我有这个肝脏CT切片的numpy数组(基本事实(。我想将它们导出为搅拌机等工具中的可查看格式。切片为白色和黑色,0-255。除了肝脏之外的任何东西都是黑色的,我希望肝脏以3d形式查看。

切片位于顶视图中。我在 kaggle 中使用了这段代码来查看它们,但只是在 jupyter https://www.kaggle.com/akh64bit/full-preprocessing-tutorial/data 中。它可以是可视化它们的任何方式。

您可以尝试将数组转换为DICOM格式,如之前在stackoverflow中提到的那样:从numpy数组创建pydicom文件

比你可以轻松地在各种平台上可视化DICOM图像!

对于偶然发现这个问题的新人,他们希望将像素/体素转换为一个或多个 STL 文件,这个 Python 工作流程对我有用:

  1. 使用 imageio.imread(( 将图像堆栈加载为 3D NumPy 数组。
  2. 使用scikit-image子模块skimage.segmentation中的众多分割算法之一从背景分割前景,创建3D二进制图像。
  3. 使用 scikit-image 子模块skimage.measure中的行进立方体算法将感兴趣的体素转换为由体积表面上的顶点定义的面列表。
  4. 使用 numpy-stl 从面和顶点列表中创建一个stl.Mesh对象(如本例所示(,然后使用stl.Mesh.save()保存网格。

作为奖励,您可以使用Open3D库的Python包来打开和查看多个STL文件!

最新更新