2013-08-26 120 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個維度。

我認爲你的第一要務是澄清你的數據代表什麼以及它的結構。