pyvista里面把这种三维的矩阵称为“统一网格(Uniform Grid)”,那这个网络里面的值就是矩阵的值。也就是说相当于就是一个矩阵。

values = np.linspace(0, 10, 1000).reshape((20, 5, 10))
values.shape

# 首先类似于新建一个空的矩阵
grid = pv.UniformGrid()

# 然后设置维度,如果想给cell填充数据则维度设置为 矩阵shape + 1,
# 如果是给point填充数据指定为矩阵shape
# 填充cell,颜色就不是渐变的,是每个块一个颜色,正好和ct的数据一样。
grid.dimensions = np.array(values.shape) + 1

# 设置origin和spacing,这两个参数正好和ct的参数一个意思。
grid.origin = (100, 33, 55.6)  # The bottom left corner of the data set
grid.spacing = (1, 5, 2)  # These are the cell sizes along each axis

# 设置(网格)矩阵的值
grid.cell_arrays["values"] = values.flatten(order="F")  # Flatten the array!

# plot
grid.plot(show_edges=True)

显示ct数据

下面读取一个ct的数据看看,对ct数据剪切了一下,可以看到里面。
记得显示的适合设置grid.plot(show_edges=False)