0

我有一个 nifti 格式的 3D 医学图像的二进制掩码,“mask.nii.gz”,我想从中提取表面网格。

我可以将二进制掩码数据加载到 numpy.ndarray 中,如下所示

import numpy as np
import nibabel as nib
filePath = "mask.nii.gz"
image = nib.load(filePath)
image_data = image.get_data()

但不确定如何使用上面的 image_data 使用 vtkDiscreteMarchingCubes() 渲染表面并从渲染表面输出顶点。

有人可以阐明这个问题吗?抱歉,我对这里的 VTK 库很陌生。提前谢谢了。

4

1 回答 1

1

您可以使用创建网格skimage.measuremarching_cubes 在您的情况下,尝试将 nib.image 转换为 numpy ndarray

image_ndarray = np.array(imgage.dataobj).astype(np.float64)
verts, faces, norm, val = measure.marching_cubes_lewiner(image, threshold, step_size=step_size, allow_degenerate=True)
于 2019-12-04T13:02:09.983 回答