Project-MONAI

Project-MONAI /monai-deploy-app-sdk

MONAI Deploy App SDK offers a framework and associated tools to design, develop and verify AI-driven applications in the healthcare imaging domain.

106
53
GitHub
Public

Repository Statistics

Key metrics and engagement data

106
Stars
53
Forks
56
Open Issues
0
Releases
1.50
Engagement Rate
Default branch: main

Timeline

Repository has been active for N/A

Repository Created

Last Activity
Inactive for NaN months

README.md

project-monai

💡 If you want to know more about MONAI Deploy WG vision, overall structure, and guidelines, please read MONAI Deploy main repo first.

MONAI Deploy App SDK

License

MONAI Deploy App SDK offers a framework and associated tools to design, develop and verify AI-driven applications in the healthcare imaging domain.

Features

  • Build medical imaging inference applications using a flexible, extensible & usable Pythonic API
  • Easy management of inference applications via programmable Directed Acyclic Graphs (DAGs)
  • Built-in operators to load DICOM data to be ingested in an inference app
  • Out-of-the-box support for in-proc PyTorch based inference, as well as remote inference via Triton Inference Server
  • Easy incorporation of MONAI based pre and post transformations in the inference application
  • Package inference application with a single command into a portable MONAI Application Package
  • Locally run and debug your inference application using App Runner

User Guide

User guide is available at docs.monai.io.

Citation

If you have used MONAI in your research, please cite us! The citation can be exported from: https://arxiv.org/abs/2212.14177.

Installation

To install the current release, you can simply run:

bash
1pip install monai-deploy-app-sdk

Prerequisites

  • This SDK depends on NVIDIA Holoscan SDK for its core implementation as well as its CLI, hence inherits its prerequisites, e.g. Ubuntu 22.04 with glibc 2.35 on X86-64 and NVIDIA dGPU drivers version 535 or above.
  • CUDA 12.2 or above is required along with a supported NVIDIA GPU with at least 8GB of video RAM.
  • If inference is not used in an example application and a GPU is not installed, at least CUDA 12 runtime is required, as this is one of the requirements of Holoscan SDK. In addition, the LIB_LIBRARY_PATH must be set to include the installed shared library, e.g. in a Python 3.10 env, export LD_LIBRARY_PATH=`pwd`/.venv/lib/python3.10/site-packages/nvidia/cuda_runtime/lib:$LD_LIBRARY_PATH
  • Python: 3.9 to 3.12

Getting Started

Getting started guide is available at here.

bash
1pip install monai-deploy-app-sdk
2
3# Clone monai-deploy-app-sdk repository for accessing examples.
4git clone https://github.com/Project-MONAI/monai-deploy-app-sdk.git
5cd monai-deploy-app-sdk
6
7# Install necessary dependencies for simple_imaging_app
8pip install matplotlib Pillow scikit-image
9
10# Execute the app locally
11python examples/apps/simple_imaging_app/app.py -i examples/apps/simple_imaging_app/input/brain_mr_input.jpg -o output
12
13# Package app (creating MAP Docker image), using `-l DEBUG` option to see progress.
14# Also please note that postfix will be added to user supplied tag for identifying CPU architecture and GPU type etc.
15monai-deploy package examples/apps/simple_imaging_app -c examples/apps/simple_imaging_app/app.yaml -t simple_app:latest --platform x86_64 -l DEBUG
16
17# Run the app with docker image and an input file locally
18## Copy a test input file to 'input' folder
19mkdir -p input && rm -rf input/*
20cp examples/apps/simple_imaging_app/input/brain_mr_input.jpg input/
21## Launch the app
22monai-deploy run simple_app-x64-workstation-dgpu-linux-amd64:latest -i input -o output

Tutorials

Tutorials are provided to help getting started with the App SDK, to name but a few below.

1) Creating a simple image processing app

2) Creating MedNIST Classifier app

YouTube Video (to be updated with the new version):

3) Creating a Segmentation app

YouTube Video (demonstrating the previous version of the App SDK):

4) Creating a Segmentation app including visualization with Clara Viz

5) Creating a Segmentation app consuming a MONAI Bundle

Examples

https://github.com/Project-MONAI/monai-deploy-app-sdk/tree/main/examples/apps has example apps that you can see, to name but a few

  • simple_imaging_app
  • ai_livertumor_seg_app
  • ai_spleen_seg_app
  • ai_unetr_seg_app
  • dicom_series_to_image_app
  • mednist_classifier_monaideploy
  • ai_remote_infer_app

Contributing

For guidance on making a contribution to MONAI Deploy App SDK, see the contributing guidelines.

Community

To participate, please join the MONAI Deploy App SDK weekly meetings on the calendar and review the meeting notes.

Join the conversation on Twitter @ProjectMONAI or join our Slack channel.

Ask and answer questions over on MONAI Deploy App SDK's GitHub Discussions tab.

Links