Nati Stern has asked several questions here, often about relatively technical 
uses of python code that many of us have never used and still is not providing 
more exact info that tends to be needed before anyone can even think of 
diagnosing the problem.

I have learned to stay away from some such questioners. But I am wondering if 
some people (others too) think this forum is a generalized help desk staffed by 
College Professors with nothing else to do.

Many questions are best handled locally where people can look over your 
shoulder or use the same software and may have some fluency in your native 
language. And sometimes you need to do more investigating on your own, and 
perhaps tell us what you tried and why it was not useful, or we end up making 
endless suggestions and being told we are not working on your real issue and so 
on.

The code below is just babel or maybe babble. Something nested in a loop had a 
problem. Why not try something drastic and look at the  files and PICK ONE and 
use it step by step and see when it fails?

It looks like the code wants to ask for all files then ignore some. 

Why you would import numpy repeatedly in a loop is beyond me! LOL!

But which command line failed? My GUESS is:

data = img.get_fdata()


If so, did you try to see the current value of the filename you call "i" in the 
loop and see what name was loaded in what looks like a file ending in .nii in 
this code:

img = nib.load(path+"/"+i)


You need to proceed step by step and see if any previous steps failed. 
But what is possible is you got a file with .nii in middle of the name that 
does not end in .gz, or is not in the format needed.
Good luck,
אבי גרוס

-----Original Message-----
From: MRAB <pyt...@mrabarnett.plus.com>
To: python-list@python.org
Sent: Fri, Jul 8, 2022 4:47 pm
Subject: Re: NILEARN - WHY THIS CODE THROWS AN ERROR?????

On 08/07/2022 14:06, נתי שטרן wrote:
> fullcode:
> 
> 
> 
> import nilearn.plotting as plot
> import os,gzip,io
> import nibabel as nib
> path="C:/users/administrator/desktop/nii"
> path2="C:/users/administrator/desktop/nii/out/"
> for i in os.listdir(path):
>      if(".nii.gz" in i):
>          pass
>      else:
> 
>          if(".nii" in i):
>              img = nib.load(path+"/"+i)
>              data = img.get_fdata()
>              print(data)
>              import imageio
>              X=0
>              for s in data:
>                  import numpy
>                  aleph=numpy.array(s,dtype=numpy.int8)
>                  X=X+1
>                  plot.plot_img(aleph)
> 
>                  imageio.imwrite("C:\\users\\administrator\\desktop\\nii\\"+i
> +str(X)+'.jpg', s)
> 
> 
> 
> 
> 
> 
> error:
> Data given cannot be loaded because it is not compatible with nibabel
> format
> <https://netanel.ml>

What's the complete traceback?

It might help you to identify the problem if you add messages to tell 
you what it's doing, e.g. what file it's about to load.

Apparently, one of the files is not compatible with nibabel.
-- 
https://mail.python.org/mailman/listinfo/python-list
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to