Я пытаюсь реализовать условную GAN в Nift yNet.
У меня есть коллекция трехмерных изображений в формате Nifti, каждый из которых имеет определенный класс c. Класс должен быть входным условием для GAN.
Пока мне удалось заставить его работать, но это своего рода хак: я создаю фиктивное изображение 1x1x1, соответствующее каждому 3D изображению, которое содержит класс как его единственное значение. Затем в моем конфигурационном файле (...
обозначают пропуски):
[images]
csv_file = index.csv ; This contains the subject_id to path correspondence
...
[labels]
csv_file = labels.csv ; This contains the subject_id to path to the dummy image correspondence
interp_order = 0
spatial_window_size = (1)
...
[SYSTEM]
...
dataset_split_file = fold0.csv
...
[GAN]
image=images
conditioning=labels
...
Хотя технически это работает, это очень хрупко. Я хотел бы указать класс с файлом CSV со столбцами subject_id
и target
.
Я пробовал следующее, используя недокументированный параметр csv_data_file
во входном описании:
[images]
csv_file = index.csv ; This contains the subject_id to path correspondence
...
[labels]
csv_data_file = ./modality_labels.csv
to_ohe = False
...
[SYSTEM]
...
dataset_split_file = fold0.csv
...
[GAN]
image=images
conditioning=labels
...
но я получаю следующую ошибку:
CRITICAL:niftynet: Reader required input section name [labels], but in the filename list the column is empty.
CRITICAL:niftynet: file_list parameter should be a pandas.DataFrame instance and has input section name [labels] as a column name.
CRITICAL:niftynet: Reader requires section(s): ['images', 'labels']
CRITICAL:niftynet: Configuration input sections are: ['subject_id', 'images']
Как правильно это указать?