Home

Awesome


Repository MOOD Challenge - team TUe_IMAGe

This page contains the code to reproduce the submission of team TUe_IMAGe for the MICCAI Medical Out-of-Distribution (MOOD) Challenge 2023.

This repository is based on github.com/MIC-DKFZ/mood, provided by the organizes of the challenge. Our model is partly based on github.com/marksgraham/ddpm-ood, which we adapted slightly and can be found in docker_submission/scripts/ddpm_ood.

Copyright © German Cancer Research Center (DKFZ), Division of Medical Image Computing (MIC). Please make sure that your usage of this code is in compliance with the code license: License

Requirements

Install python requirements:

pip install -r docker_submission/requirements.txt

To test the docker submission, you need to install docker and NVIDIA container Toolkit.

The organizers suggest the following folder structure to work with the provided examples:

data/
--- brain/
------ brain_train/
------ toy/
------ toy_label/
--- abdom/
------ abdom_train/
------ toy/
------ toy_label/

Training

To train our model for the MOOD submission, we ran the following. Note that we made adaptations to the ddpm-ood repository. We are currently working on generalizing this submodule by avoiding absolute paths.

python train_ddpm_mood.py --parallel --simplex_noise 1 --batch_size 4 --eval_freq 10 --checkpoint_every 10 --is_grayscale 1 --n_epochs 60 --beta_schedule 'scaled_linear_beta'  --beta_start 0.001 --beta_end 0.015

...

Inference

Step 1: Add model checkpoints

Make sure to put the model checkpoints in the directory docker_submission/scripts/checkpoints

Step 2: Build Docker and test the model

Build and test the docker by running the following:

python docker_submission/run_example.py -i /data/brain

With -i you should pass the data input folder (which has to contain a toy and toy_label directory).

Step 3: Test the Docker for submission

To check whether the submission complies with the challenge format, run the following:

python scripts_mood_evaluate/test_docker.py -d mood_example -i /data/ -t sample

With -i you should pass the base data input folder (which has to contain a folder brain and abdom, and both folders have to contain a toy and toy_label directory).

with -t you can define the Challenge Task (either sample or pixel)