更改图像数据的 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 (将#修改为@)