我有一个二进制文件,我必须从中读取数据。该文件包含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(灰度)的值,我想渲染。
非常感谢任何帮助!
答案 0 :(得分:2)
您的部分问题在于代码:
datax = data[:,0]
datay = data[:,1]
dataz = data[:,2]
在单轴上没有做你期望的切片,它正在切片Y = 0然后Y = 1,Y = 2并将它们相互绘制 - 你的另一个问题是你有一个三维数组值,给出每个值4维X,Y,Z,值 - 你试图将这些值绘制成一个表面。只有3个维度。
我认为您的首要任务是澄清您的数据代表的内容及其结构。