Цикл чтения содержимого двух файлов [закрыт]

avatar
Mostafa Zahed
1 июля 2021 в 19:24
55
1
-2

У меня есть два файла: один содержит изображения, а другой включает сегменты. Я мог прочитать оба, выполнив следующую команду:

import glob
nrrd_filenames = glob.glob('/Users/mostafa/Desktop/PyRadiomics/Labeled Segmentation/*')
nrrd_filenames.sort()

image_filenames = glob.glob('/Users/mostafa/Desktop/PyRadiomics/Image/*')
image_filenames.sort()

Но когда я хочу запустить эту команду:

for i,file in enumerate(nrrd_filenames):
   cmd='pyradiomics '+file+' '+image_filenames[i]+' -o results'+str(i)+'.csv -f csv'
   os.system(cmd)

Я получу эту ошибку:

usage: pyradiomics image|batch [mask] [Options]
pyradiomics: error: unrecognized arguments: /Users/mostafa/Desktop/PyRadiomics/Image/CT_A0257.nrrd
usage: pyradiomics image|batch [mask] [Options]
pyradiomics: error: unrecognized arguments: /Users/mostafa/Desktop/PyRadiomics/Image/CT_G0045.nrrd

Кажется, код не может прочитать содержимое image_filenames.

Источник
azro
1 июля 2021 в 19:26
0

Папки не файлы?

martineau
1 июля 2021 в 20:20
0

Из usage: pyradiomics image|batch [mask] [Options] неясно, какие аргументы требуются для команды pyradiomics. Вы пытаетесь передать ему два имени файла, разделенных пробелом, и набор опций. Очевидно, что это неправильно, как ясно показывает сообщение об ошибке. Чтобы исправить это, вам нужно правильно передать аргументы команде, но неясно, какой формат использования требуется.

martineau
1 июля 2021 в 20:29
0

Ваш код создает команду в этом базовом формате: pyradiomics file1.nrrd file1.img -o results0.csv -f csv, который не соответствует отображаемой информации об использовании. Непонятно, куда должен быть предоставлен файл сегментации.

Mostafa Zahed
2 июля 2021 в 16:13
0

Да, именно так. Проблема была в создании этой команды. Теперь это было решено. Спасибо.

Ответы (1)

avatar
Ghoti
1 июля 2021 в 19:46
0

У вас есть два пути к файлам:

/Users/mostafa/Desktop/PyRadiomics/Labeled Segmentation/* — путь к файлам nrrd. /Users/mostafa/Desktop/PyRadiomics/Image/* — путь к файлам изображений.

Ваша ошибка неверного пути — файл nrrd в каталоге изображений, pyradiomics: error: unrecognized arguments: /Users/mostafa/Desktop/PyRadiomics/Image/CT_G0045.nrrd

Дополнительной проблемой, с которой вы можете столкнуться, является пробел в имени вашего каталога. Вы должны заменить пробелы символами подчеркивания или использовать кавычки при построении команды. Что-то вроде cmd='pyradiomics "'+file+'" "'+image_filenames[i]+'" -o results'+str(i)+'.csv -f csv' должно работать.

Mostafa Zahed
2 июля 2021 в 16:11
0

Огромное спасибо. Ваше предложение решило проблему.