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') но ты сказал, что попробовал это. Возможно, порядок букв является ключевым.

Другие вопросы по тегам