0

我想阅读不同文件夹中的图像。我写了以下代码

     for Case_id in range(1,6):

     path ='/Users/XXXXXX/Desktop/pyradiomics/Converted/Case{}/'.format(Case_id)
     print(path)
     for files in os.listdir(path):
       if files.endswith("Image.nii"):
          print(files)
          image=sitk.ReadImage (files)
       if files.endswith("label.nii"):
          print(files)
          mask=sitk.ReadImage (files)

当我运行它时,我收到一条错误消息:

RuntimeError:SimpleITK ReadImage 中引发异常:/scratch/dashboard/SimpleITK-OSX10.6-x86_64-pkg/SimpleITK/Code/IO/src/sitkImageReaderBase.cxx:89:

sitk::ERROR: 文件“xxxx_image.nii”不存在。

如果我只是运行打印命令,我可以看到指定文件夹中的所有文件以及路径。将不胜感激。

4

2 回答 2

1

@dave-chen 是正确的。您需要加入路径才能获得完整路径。尝试:

 for Case_id in range(1,6):

 path ='/Users/XXXXXX/Desktop/pyradiomics/Converted/Case{}/'.format(Case_id)
 print(path)
 for files in os.listdir(path):
   if files.endswith("Image.nii"):
      print(files)
      image=sitk.ReadImage(os.path.join(path, files))
   if files.endswith("label.nii"):
      print(files)
      mask=sitk.ReadImage(os.path.join(path, files))
于 2018-12-14T09:20:02.423 回答
0

我猜您需要将完整路径名传递给 ReadImage。'files' 只是文件的名称。如果您没有在该“路径”目录中运行脚本,ReadImage 将无法处理文件,因此它将在当前工作目录中查找。

于 2018-12-07T20:15:12.803 回答