This repository contains example scripts to help participants prepare their algorithm for submission to the PRISM-AI Challenge on Grand Challenge.
In personalized breast cancer screening, accurate risk estimates could help tailor screening intensity, improving early detection for some while reducing unnecessary procedures for others. AI-driven risk assessment could be the next major step forward. Several commercial and academic AI algorithms now predict future breast cancer risk from screening mammograms. The PRISM-AI Challenge provides a transparent, independent, and rigorous evaluation of AI algorithms for breast cancer risk prediction on a large population-based screening cohort.
The main inference script for running a basic algorithm on the Grand Challenge platform.
- Mammograms are provided as stacked
.mhafiles, with separate stacks for each of the four standard views: CC-L, CC-R, MLO-L, MLO-R. - DICOM header information from the original mammograms are provided as stacked
.jsonfiles, with separate stacks for each of the four standard views, synchronized with the mammograms. - The example algorithm predicts breast cancer risk at multiple time points (years 1–5), based on four DICOM files per participant.
- Helper code is included to convert stacked
.mhafiles to individual DICOM files and to populate required DICOM header fields, after reading from the.jsonfiles.
Defines the Docker container used for deployment on Grand Challenge.
- All required system and Python dependencies are installed during the image build — no separate local Python or conda environment is needed.
- For help setting up Docker with GPU support, see the Grand Challenge documentation or the Docker documentation.
Before building or running the container, open inference.py and verify the following paths:
| Variable | Description | Default |
|---|---|---|
INPUT_PATH |
Path to the input .mha stacks (IMAGES_PATH = INPUT_PATH/"images"). For the .json files containing header information, their pat equals their filename |
/input (keep for Grand Challenge) |
RESOURCE_PATH |
Path to resources such as model weights | /opt/algorithm/resources (see Dockerfile) |
OUTPUT_PATH |
Path where predictions will be written | /output (keep for Grand Challenge) |
To test your algorithm locally before submission, run:
./do_test_run.shThis script will: - Launch the Docker container - Mount the required input and output directories - Run inference.py inside the container
Input is read from ./test/input and output is written to ./test/output.
To build and export the Docker container for upload to Grand Challenge, run:
./do_save.shThis produces a .tar.gz file that can be uploaded directly to Grand Challenge. For more information on testing and submitting your container, see the Grand Challenge documentation.