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)
。