微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

更改图像数据的 numpy 形状的维度顺序

如何解决更改图像数据的 numpy 形状的维度顺序

我使用 numpy 和 nibabel lib 从 nii 文件加载数据。 这是我加载图像数据的代码

import os,glob
import nibabel as nib 
import numpy as np
import matplotlib.pyplot as plt

DataInputPath = '/content/drive/MyDrive/Data/Volumes/Img' 
ImgPath = os.path.join(DataInputPath,'Patient1.nii')
Img = nib.load(ImgPath).get_fdata() 
np.min(Img),np.max(Img),Img.shape,type(Img) 

输出图片属性)如下图:

"(-1000.0,2976.0,(512,512,193),numpy.memmap)"

当我想使用下面的代码使用 matplotlib 绘制图像时,输出图像看起来像是使用 512x512x193 以上的图像形状裁剪的。当我想从 x 和 y 绘制切片时如何更改尺寸,以便不会裁剪图像?绘制切片 z 似乎没问题。

Ex1:绘制 X 切片并裁剪图像

ImgSlice = Img[100,:,:] 
plt.imshow(ImgSlice,cmap='gray')
plt.imshow
plt.show()

enter image description here

Ex2:在图像正常的地方绘制 Z

ImgSlice = Img[:,100] 
plt.imshow(ImgSlice,cmap='gray')
plt.imshow
plt.show()

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。