OSError: cannot identify image file 'file_name'

Question:

I have already read answer of this question Image.open() cannot identify image file – Python?, that question was solved by using from PIL import Image, but my situation is different. I am using image_slicer, and there I am getting these errors:

Traceback (most recent call last):
File "image_slice.py", line 17, in <module>
j=image_slicer.slice('file_name' , n_k)
File "/home/user_name/.local/lib/python3.5/site- 
packages/image_slicer/main.py", line 114, in slice
im = Image.open(filename)
File "/home/user_name/.local/lib/python3.5/site-packages/PIL/Image.py", line 2687, in open
% (filename if filename else fp))
OSError: cannot identify image file 'file_name'

The full code is:

import os
from PIL import Image
import image_slicer
import numpy as np
import nibabel as nib
img = nib.load('/home/user_name/volume-20.nii')
img.shape
epi_img_data = img.get_data()
#epi_img_data.shape
n_i, n_j, n_k = epi_img_data.shape
center_i = (n_i - 1) // 2
center_j = (n_j - 1) // 2
center_k = (n_k - 1) // 2
centers = [center_i, center_j, center_k]
print("Co-ordinates in the voxel array: ", centers)
#for i in range(n_k):
j=image_slicer.slice('/home/user_name/volume-20.nii' , n_k)

However nib.load(), works fine, but image_slicer is not working.

All the nii images are 3D images.

Asked By: Prvt_Yadav

||

Answers:

Image slicer is not intended for reading nii format. Here is the list of supported formats.

Answered By: Alderven

This error also occurs whenever the image file itself is corrupted. I once accidentally was in the process of deleting the subject image, until canceling mid-way through.

TL;DR – open image file to see if it’s ok.

Answered By: DanielBell99