Niftynet: ошибка: аргумент --axcodes: список ожидаемых строк
Я только начал изучать NiftyNet, который, я думаю, поможет мне в моем проекте.
Я пытаюсь обучить сеть для сегментации, используя segmentation_application. Однако я создал свой собственный файл config.ini и при запуске net_run.py я получаю сообщение об ошибке:
"ошибка: аргумент --axcodes: список ожидаемых строк, для каждого элемента списка допустимые символы: [ a-zA-Z0-9_-], но полученные ' ' "
Я следую настройке требований к файлу конфигурации axcodes=A,R,S
, Я также пробовал разные списки строк ('A','R','S'; [A,R,S]; (A,R,S); ...)
Мой файл config.ini гласит:
[T2]
csv_file = /home/jose/niftynet/data/uNet/test_data/data_file.csv
spatial_window_size = (257,257,30)
pixdim = (1.0, 1.0, 1.0)
axcodes= A,R,S
interp_order = 1
Что я делаю неправильно?
2 ответа
Проблема была в остальной части файла config.ini.
На [parcellation]
раздел у меня был еще один axcodes=''
который давал ошибку.
Вероятно, вы пытались axcodes=['A', 'R', 'S']
которые возвращают только буквы "A", "R" и "S" и могут вызвать ошибку, потому что программа ищет другой тип информации в каждой строке. Так что я думаю, что вы ищете A = str(A)
который использует переменные правильно, а именно 'variable value A
преобразование в "строку A".
В случае [A, R, S] одна из переменных может быть целым числом. Пытаться:
A = str(A)
R = str(R)
S = str(S)
axcodes = [A, R, S]
В случае ('A', 'R', 'S') вы ссылаетесь на строки в кортеже-списке, а не на список-список.
В случае (A, R, S) вы ссылаетесь на переменные вне списка кортежей.
Кроме того: попробуйте использовать print "Variable "%s" is type %s" % (A, type(A))
и посмотрите, что переменная "A" для типа.
Изменить 1:
Попробуйте следующее (файл: корневая папка "." Включена; скобки помещены и interp_order
увеличено до значения по умолчанию)
csv_file = ./home/jose/niftynet/data/uNet/test_data/data_file.csv
spatial_window_size = (257,257,30)
pixdim = (1.0, 1.0, 1.0)
axcodes= (A,R,S)
interp_order = 3
Изменить 2:
На основании документации здесь должно быть axcodes=('A', 'R', 'S')
но ты сказал, что попробовал это. Возможно, порядок букв является ключевым.