Predict-GBM
Providing a unified framework for evaluating and benchmarking glioblastoma models by assessing radiation plan coverage on recurrences observed in follow-up MRI exams.
Features
- Easy-to-use image preprocessing and model evaluation pipeline that handles everything from DICOM conversion to registration, model prediction, radiation plan generation and evaluation.
- Dockered versions of recent glioblastoma growth models and instructions on including novel methods
- Access to a preprocessed glioblastoma dataset comprised of a few hundred subjects
Installation
Prerequisites:
- Docker: Installation instructions on the official website
- NVIDIA Container Toolkit: Refer to the NVIDIA install guide and the official GitHub page
- dicom2niix: Required if you plan to process raw DICOM data.
A pypi package will be available soon. Currently, the package can be installed with poetry:
curl -sSL https://install.python-poetry.org | python3 -
git clone https://github.com/BrainLesion/PredictGBM
cd PredictGBM
poetry install
Data and Models
Preprocessed data can be obtained from TODO
Ready-to-use dockered versions are available for some growth models from TODO. Placing them in predict_gbm/models/ just like the test_model.tar, allows you to use them via algo_id="test_model".
Use Cases and Tutorials
Examples can be found in /scripts:
- single_dicom.py shows how to quickly process a single patient with DICOM files.
- single_nifti.py shows how to quickly process a single patient with NIfTI files.
- dataset_example.py shows how to use the PatientDataset to parse datasets.
- stepwise_processing.py shows how to run standalone pipeline components.
- evaluate_predict_gbm.py shows how to evaluate on the PredictGBM dataset.
Adding new growth models
This repository can be used to perform inference or benchmark with your own tumor growth model. To this end, you need to create a docker image of your growth model. The following sections serve as guideline on how the image should be created.
Directory structure
Input and output data are passed to/from the container using mounted directories:
Input:
/mlcube_io0
┗ Patient-00000
┣ 00000-gm.nii.gz
┣ 00000-wm.nii.gz
┣ 00000-csf.nii.gz
┣ 00000-tumorseg.nii.gz
┗ 00000-pet.nii.gz
Output:
/mlcube_io1
┗ 00000.nii.gz
Dockerfile Example
Ensure the container adheres to the above I/O structure. An example Dockerfile could be:
# Image and environment variables
FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04
ENV DEBIAN_FRONTEND=noninteractive
ENV NVIDIA_VISIBLE_DEVICES=all
ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
# Install python
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 python3-pip python3-dev git && \
apt-get clean && rm -rf /var/lib/apt/lists/*
RUN python3 -m pip install --no-cache-dir --upgrade pip
WORKDIR /app
# Install requirements
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy your code to workdir
COPY . .
ENTRYPOINT ["python3", "inference.py"]
Citation
If you use PredictGBM in your research, please cite it to support the development!
TODO: citation will be added asap
Reporting Bugs, Feature Requests and Questions
Please open a new issue here.
Code contributions
Nice to have you on board! Please have a look at our CONTRIBUTING.md file.
Metadata
Release files for predict-gbm 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| predict_gbm-0.1.0.tar.gz | 57.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| predict_gbm-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 114.7 MB
Release files / predict_gbm-0.1.0.tar.gz
| Download URL | predict_gbm-0.1.0.tar.gz |
|---|---|
| Size | 57.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0bd8f47fe5d29d0088c6555abfa3458646c8f47a4d99f7932d963d4a279be367
|
|
BLAKE2b-256 checksum How to use checksums |
4c7d4f2c3824c94829d2c804ec0ab30e9762338f4b83a7f2e60fd0b03efb5849
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.4 CPython/3.10.18 Linux/5.13.0-39-generic
|
Release files / predict_gbm-0.1.0-py3-none-any.whl
| Download URL | predict_gbm-0.1.0-py3-none-any.whl |
|---|---|
| Size | 57.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21feb5e88f5128bed0deccd3443298bd1ed083db0dab22af6779b4a93362358e
|
|
BLAKE2b-256 checksum How to use checksums |
7d4fccf70d2557aa9e916c1c89a194d8b800684a8179d6b717f8844375ce398e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.4 CPython/3.10.18 Linux/5.13.0-39-generic
|