Skip to main content

Tools for processing MRI images and evaluating tumor growth models via radiation plans.

Project description

Predict-GBM

Python Versions Stable Version Documentation Status tests codecov License

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:

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

predict_gbm-0.1.0.tar.gz (57.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

predict_gbm-0.1.0-py3-none-any.whl (57.4 MB view details)

Uploaded Python 3

File details

Details for the file predict_gbm-0.1.0.tar.gz.

File metadata

  • Download URL: predict_gbm-0.1.0.tar.gz
  • Upload date:
  • Size: 57.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.10.18 Linux/5.13.0-39-generic

File hashes

Hashes for predict_gbm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0bd8f47fe5d29d0088c6555abfa3458646c8f47a4d99f7932d963d4a279be367
MD5 17ee8757856d0aac9a788f1e7e218409
BLAKE2b-256 4c7d4f2c3824c94829d2c804ec0ab30e9762338f4b83a7f2e60fd0b03efb5849

See more details on using hashes here.

File details

Details for the file predict_gbm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: predict_gbm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 57.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.10.18 Linux/5.13.0-39-generic

File hashes

Hashes for predict_gbm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21feb5e88f5128bed0deccd3443298bd1ed083db0dab22af6779b4a93362358e
MD5 8ab008f73bd86c4def6a672c62a43df3
BLAKE2b-256 7d4fccf70d2557aa9e916c1c89a194d8b800684a8179d6b717f8844375ce398e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page