FileNotFoundError:没有这样的文件:' someones_epi.nii.gzip'

时间:2017-10-26 11:05:13

标签: image python-3.x medical

我正在尝试加载MRI,我不断收到以下错误:

Traceback (most recent call last): 
File "F:/Study/Projects/BTSaG/Programs/t3.py", line 2, in <module> epi_img = nib.load('someones_epi.nii.gzip') 
File "C:\Users\AnkitaShinde\AppData\Local\Programs\Python\Python35-32\lib\site-packages\nibabel\loadsave.py", line 38, in load raise FileNotFoundError("No such file: '%s'" % filename) 
FileNotFoundError: No such file: 'someones_epi.nii.gzip'

使用的代码如下:

import nibabel as nib
epi_img = nib.load('someones_epi.nii.gzip')
epi_img_data = epi_img.get_data()
epi_img_data.shape(53, 61, 33)
import matplotlib.pyplot as plt
def show_slices(slices):
""" Function to display row of image slices """
fig, axes = plt.subplots(1, len(slices))
for i, slice in enumerate(slices):
     axes[i].imshow(slice.T, cmap="gray", origin="lower")
slice_0 = epi_img_data[26, :, :]
slice_1 = epi_img_data[:, 30, :]
slice_2 = epi_img_data[:, :, 16]
show_slices([slice_0, slice_1, slice_2])
plt.suptitle("Center slices for EPI image")

我还更新了nibabel中的loadsave.py文件,但它没有用。请帮忙。

编辑: 之前的错误已得到解决。现在又遇到了另一个错误。

Traceback (most recent call last):File "F:\Study\Projects\BTSaG\Programs\t3.py", line 2, in <module> epi_img = nib.load('someones_epi.nii.gzip')
File "C:\Users\AnkitaShinde\AppData\Local\Programs\Python\Python35-32\lib\site-packages\nibabel\loadsave.py", line 47, in load filename)
nibabel.filebasedimages.ImageFileError: Cannot work out file type of "someones_epi.nii.gzip"

1 个答案:

答案 0 :(得分:0)

这是一个古老的问题,但是我可能有解决方案。

我刚刚发现nibabel.save()不允许我在文件夹名称中使用点.或破折号-。这些可以存在于文件名中。就您而言,当前路径为:

C:\Users\AnkitaShinde\AppData\Local\Programs\Python\Python35-32\Lib\site-packages\nibabel\someones_epi.nii.gzip

我将其更改为:

C:\Users\AnkitaShinde\AppData\Local\Programs\Python\Python35_32\Lib\site_packages\nibabel\someones_epi.nii.gzip

这仅是示例。当然,我并不是说您实际上要更改这些软件包文件夹的名称,因为这可能会导致其他错误。

实际的解决方法是将文件someones_epi.nii.gzip移至用户结构,例如:

C:\Users\AnkitaShinde\Desktop\nibabel\someones_epi.nii.gzip