I am trying to run classification using NiftyNet. I wanted to run training and I have a training set with images and a class assigned to them, like image1 -> cancer and image2 -> no cancer. Basically I have no masks and it seems that if I want to run classification I need to have masks with the labeled voxels to run training for classification. I assumed this based on the following page: https://niftynet.readthedocs.io/en/dev/_modules/niftynet/application/classification_application.html#ClassificationApplication, where it tries to explain how to create a classification section which states that is similar to segmentation.
Ultimately, my question is whether I can run classification with NiftyNet if I only have the images and the class each image belongs to. E.g. if I have 4 classes 0, 1, 2 and 3, and I have mapped my data, for instance image1 -> 1, image2 -> 3, image3 -> 1, image4 -> 2, image5 -> 0, etc. Can I use as input the images and output a vector e.g. [0 0 1 0] for training with NiftyNet? If so, can you give an example of how to create a CLASSIFICATION section in the .ini file?
Sorry in advance for the really long question.
indeed for now you should create a nifti file of size (1,1,1) with the label you try to predict in it.
I think the vector your talking about is a one hot encoder, and is processed by niftynet once labels are loaded.
Here is an input section of classification
[CLASSIFICATION]
image = Rx
label = labels
output_prob = True
num_classes = 2
label_normalisation = False
Best regards