У меня есть два файла: один содержит изображения, а другой включает сегменты. Я мог прочитать оба, выполнив следующую команду:
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
.
Папки не файлы?
Из
usage: pyradiomics image|batch [mask] [Options]
неясно, какие аргументы требуются для командыpyradiomics
. Вы пытаетесь передать ему два имени файла, разделенных пробелом, и набор опций. Очевидно, что это неправильно, как ясно показывает сообщение об ошибке. Чтобы исправить это, вам нужно правильно передать аргументы команде, но неясно, какой формат использования требуется.Ваш код создает команду в этом базовом формате:
pyradiomics file1.nrrd file1.img -o results0.csv -f csv
, который не соответствует отображаемой информации об использовании. Непонятно, куда должен быть предоставлен файл сегментации.Да, именно так. Проблема была в создании этой команды. Теперь это было решено. Спасибо.