Python实现三维切片mat文件保存某一张切片的图片

由于手中的数据是mat文件(我的数据是一组乳腺切片组成的三维数据),想要查看某一张切片的图片,又不想使用软件打开,因此需要利用脚本进行转换。 A = sio.

由于手中的数据是mat文件(我的数据是一组乳腺切片组成的三维数据),想要查看某一张切片的图片,又不想使用软件打开,因此需要利用脚本进行转换。

A = sio.loadmat(r'41582_L_MLO')
B = A['imageCroped']

首先读取我的mat文件,保存到A中,再读取里面的三维数组,保存到B中。
'41582_L_MLO’为我的文件名,'imageCroped’为文件中的三维数组的名字。

print(type(B))
print('三维数组: \n%s' % B)
print('B的维度:',B.shape)

B的类型
查看此时B的类型。
B的数组
查看B的具体数组。
B的维度
查看B的维度,1860 * 402 * 33,即33张1860 * 402大小的切片。

C = B[:,:,15]

这步操作主要是取出第16个二维数组,即第16张切片。
C的维度和类型
上图为C矩阵的具体信息。

pyplot.imshow(C)
pyplot.show()

通过上述两行代码,即可显示第16张切片的图片。如下图:
图片显示结果
完整代码如下:

import scipy.io as sio
import matplotlib.pyplot as pyplotA = sio.loadmat(r'41582_L_MLO')
B = A['imageCroped']C = B[:,:,15]
print(type(B))
print('三维数组: \n%s' % B)
print('B的维度:',B.shape)
print('C矩阵:\n%s'% C)
print('C的维度:',C.shape)
print(type(C))
pyplot.imshow(C)
pyplot.show()