Participants in this challenge should containerize their methods with Docker and submit this for evaluation. The test data will not be released to the public.

In most cases, containerization of a method is a simple and straightforward procedure. We have provided two example cases and, if needed, will help you creating a Docker container of your method. Furthermore, many containers are available on the internet to be used as a basis, probably including your favourite programming environment and neuroimaging tools.

Containerization

The concept of containerization is to simplify the deployment of applications, in this case your developed method. Docker is a technique to do so and will be used in this challenge.

Docker can be used to “wrap” your entire segmentation method (including all dependencies and the operating system) into a single container. This container can be run as if it would be a single standalone application, anywhere, on any platform. Because your method and all dependencies are included in the container, the method is guaranteed to run exactly the same all the time.

This is a very popular concept and has been used successfully in previous MICCAI challenges. Docker Hub provides a large overview of existing Docker containers (base images), that can be used to build your own container. Furthermore, many popular programming environments and image analysis methods have Dockerfiles available.

Data access

Because your container runs in an isolated environment, the data needs to be mapped into the container. The input data will be mapped into /input, read-only. The output of the method needs to be written into /output, as files named result_Lippert.json (Task 1) or result_diameters.json and result_angles.json (Task 2).

Computing environment & Resources

The challenge organizers will run your method on all 300 test cases. As you can imagine, we have only limited resources available to process submissions. During submission, please give us an indication how many CPUs and how much RAM is needed for you method, and what the resulting computation time will be.

GPU computation

If you want to use a GPU, please let us know. We will provide access to NVIDIA TITAN Xp GPUs using nvidia-docker.

Examples

To help you containerize your segmentation method with Docker, we will provide some simple examples using python and matlab. This example code will be shared as soon as possible.

Assistance

If you are unsure whether your method can be containerized or how to proceed, please contact us in advance. We will try to help you with Docker or find other means to submit your method for evaluation.

Docker commands

Your container will be run with the following commands:

CONTAINERID=`docker run -dit -v [TEST]:/input:ro -v /output crownchallenge/[TEAM-NAME]_task1`
docker exec $CONTAINERID [YOUR-COMMAND]
docker cp $CONTAINERID:/output [RESULT-TEAM]
docker stop $CONTAINERID
docker rm -v $CONTAINERID