2013-08-26 74 views
0

我有一个二进制文件,我必须从中读取数据。该文件由128x128x243矩阵(十六进制格式),我已经用下面的代码读取:Python中的二进制文件的图

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

如目前所述,这个问题有太多的步骤需要清楚回答。我建议你将问题分解成以下几部分:1)读入数据并打印几点,以确保你做得对; 2)获取Python数据结构以匹配您的数据;等等;如果您在这些步骤中遇到任何问题,请再次询问一个步骤。 – tom10

回答

2

部与代码:

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

这是不是你做在单轴期待什么切片它走的是Y = 0的一个切片,则Y = 1, Y = 2并将它们相互对比 - 你的另一个问题是你有一个三维数组值,它给出每个值的四个维度X,Y,Z,值 - 并且你试图将它们绘制成曲面。其中只有3个维度。

我认为你的第一要务是澄清你的数据代表什么以及它的结构。