Will the images I upload keep their original file names?¶
No. Random UUIDs are generated for each image you upload and those will be used as the file name. An algorithm container should hence not expect to be reading your-original-file-name.mha
. Likewise, the outputs an algorithm writes will be checked, validated and subsequently stored with their own unique UUID (which is again different from the file name given when saving it).
Since an algorithm only ever gets one image set (i.e., one patient's data) at a time, the algorithm doesn't need to worry about the original file names or about matching, for example, an input CT image with it's corresponding metadata or segmentation file – there will only be one CT file and one metadata or segmentation file available to the algorithm at any given time.
Read more about how this data is structured in the container here:
How is the test data provided to the algorithm container?
If the generated outputs from an algorithm do not have the same name / UUID as the corresponding inputs, how do I match them to the ground truth?¶
For the evaluation container you will get all outputs in one go. Now you do need to match the inputs to their respective outputs. To do that, your evaluation container also gets a predictions.json
file that contains the information for the matching. For each algorithm job that was part of the submission, the predictions.json
file lists the inputs and the outputs with their specific file names. This list also provides the original filenames the file had when you uploaded the test data.
To best understand this, you may want to look at the example code in your personal starter kit, or in the example starter kit. Each starter kit also contains an example predictions.json
.