我想通读不同文件夹中的图像。我写了以下代码
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”不存在。
如果我只运行print命令,则可以看到指定文件夹中的所有文件以及路径。非常感谢您的帮助。
答案 0 :(得分: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))
答案 1 :(得分:0)
我猜您需要将完整路径名传递给ReadImage。 “文件”仅是文件的名称。如果您不在该“路径”目录中运行脚本,则ReadImage不会对文件进行优化,因此它将在当前工作目录中查找。