Methods

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 image of your method. Furthermore, many Docker images 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 brain segmentation 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 (e.g. the MSSEG challenge and WMH Segmentation Challenge). Docker Hub provides a large overview of existing Docker containers (base images) that can be used to build your own image. 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 (folders orig and pre) will be mapped into /input, read-only. The output of the method needs to be written into /output, as a file named result.nii.gz.

Computing environment & Resources

The challenge organizers will run your method on all 23 test cases. As you can imagine, we have only limited resources available to process all submissions. Docker can set resource limits on containers. 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 in advance. We will provide access to NVIDIA TITAN Xp GPUs using nvidia-docker 2.0.

Examples

To help you containerize your segmentation method with Docker, we have provided a simple example using python. The set up of this challenge is similar to the WMH Segmentation Challenge and on that website you can also find a matlab example.

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 Docker image will be run with the following commands:

CONTAINERID=`docker run --network none -dit -v [TEST-ORIG]:/input/orig:ro -v [TEST-PRE]:/input/pre:ro -v /output mrbrains18/[TEAM-NAME]`
docker exec $CONTAINERID [YOUR-COMMAND]
docker cp $CONTAINERID:/output [RESULT-TEAM]
docker stop $CONTAINERID
docker rm -v $CONTAINERID