Currently, NiftyNet rejects datasets where some related inputs are not present. The user wants the ability to specify that certain inputs are optional, preventing rejection of partial datasets.
Current behaviour: Given a set of inputs, NiftyNet will match them by name to each other and then reject inputs for which some set of the related inputs are not present. For example ``` 01 image_01.nii.gz label_01.nii.gz 02 label_02.nii.gz 03 image_03.nii.gz label_03.nii.gz 04 image_04.nii.gz ``` NiftyNet will reject 02 and 04 and the resulting dataset will be {01, 03} Proposed behaviour: The user can specify that a given input (label in our example) is optional, and can be replaced with a placeholder if missing. 02 is still rejected because image is not marked as optional, but 04 can be included as label is optional and can be replaced by a placeholder tensor. Additional to outputting a placeholder tensor for the label, NiftyNet should also create a set of flags indicating whether a given input is a placeholder or not. Ini file We add an 'optional' keyword to the ini file vocabulary for inputs. This is set to true or false. If set to true, we have an