As we are not releasing the test set, we require the methods to be standalone and robust to run on similar cases as provided in the training data set. Participants in this challenge should containerise their methods with Docker and submit this for evaluation. Further items required to submit and details are described here.
In most cases, containerisation 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.
Containerisation
The concept of containerisation is to simplify the deployment of applications, in this case your ADAM challenge method. Docker is a technique to do so and will be used in this challenge.
Docker can be used to “wrap” your entire detection/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 (folders orig and pre) will be mapped into /input, read-only.
The output of the method needs to be written into /output. The detection task output should be in a text file named result.txt. The segmentation task output should be a file named result.nii.gz. A full, clear description of the desired output of the methods can be found here.
Computing environment & Resources
The challenge organisers will run your method on all 140 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 containerise your segmentation method with Docker, we have provided some simple examples using python and matlab. Working containers are hosted at the example Docker Hub wmhchallenge/example and the source code is on github hjkuijf/adamchallenge.
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-ORIG]:/input/orig:ro -v [TEST-PRE]:/input/pre:ro -v /output adamchallenge/[TEAM-NAME]_task1`
docker exec $CONTAINERID [YOUR-COMMAND]
docker cp $CONTAINERID:/output [RESULT-TEAM]
docker stop $CONTAINERID
docker rm -v $CONTAINERID