【发布时间】:2015-06-28 18:44:52
【问题描述】:
我得到了一个 .mat 文件,它是 1024*1024*360,即 3D 对象。我已将数据分成三个 .mat 文件 A、B 和 C。它们三个都是 1024*1024*120 。我将它们加载到矩阵“垫子”中,即 1024*360 。我正在一一加载它们,然后删除它们以腾出空间。基本上它只是点 240 处 3D 对象的 2D 切片。稍后我试图绘制图像。以下是我的代码:
import scipy.io
import numpy as np
mat = np.zeros((1024,360))
x = scipy.io.loadmat('/home/imaging/Desktop/PRAKRITI/Project/A.mat')
x = x.values()
mat[:,0:120]= x[240,:,:]
del x
y = scipy.io.loadmat('/home/imaging/Desktop/PRAKRITI/Project/B.mat')
y = y.values()
mat[:,120:240]= y[240,:,:]
del y
z = scipy.io.loadmat('/home/imaging/Desktop/PRAKRITI/Project/C.mat')
z = z.values()
mat[:,240:360]= z[240,:,:]
del z
import matplotlib.py as plt
imageplot = plt.imshow(matrix)
我收到此错误:
mat[:,0:120]= x[240,:,:]
TypeError: List indices must be integers, not tuple
谁能建议我在这里做错了什么?
【问题讨论】:
-
你希望
x = scipy.io.loadmat('/home/imaging/Desktop/PRAKRITI/Project/A.mat'); x = x.values()产生什么? -
当我运行它时,它会产生 A 中的所有值。但我希望将所有这些值加载到矩阵垫中。
-
你能确定是
mat[:,0:120]还是x[240,:,:]有问题吗? -
不应该是
mat[:,0:120]= x[240,:,0]吗? -
我认为 x[240,:,:] 本身就是问题,因为当我尝试单独打印时,它仍然显示相同的错误。
标签: python python-2.7