0

我有一个二进制文件,我必须从中读取数据。该文件包含一个 128x128x243 矩阵(十六进制格式),我使用以下代码读取了该矩阵:

with open("zubal_voxel_man.dat", "rb") as fileHandle:

    dim_x = 128
    dim_y = 128
    dim_z = 243

    data = np.zeros((dim_x,dim_y,dim_z), dtype=np.int)

    for p in range(0, dim_x):
        for q in range (0, dim_y):
            for r in range(0, dim_z):
                data[p][q][r] = ord(fileHandle.read(1))

如何使用 Python 可视化这些数据?每个 x,y,z 位置都有一个从 0 到 255(灰度)的值,我想渲染它。

任何帮助是极大的赞赏!

4

1 回答 1

2

您的部分问题在于代码:

datax = data[:,0]
datay = data[:,1]
dataz = data[:,2]

哪个没有做您期望在单轴上切片的操作,它先取 Y=0 的切片,然后取 Y=1,Y=2 的切片,然后将它们相互绘制 - 您的另一个问题是您有一个 3 维值数组,为每个值提供 4 个维度 X、Y、Z、值 - 您正在尝试将这些绘制到表面中。它只有 3 个维度。

我认为您的首要任务是澄清您的数据代表什么以及它的结构。

于 2013-08-26T11:09:48.840 回答