Skip to main content

A framework and associated tools to design, verify and analyze performance of MONAI apps

Project description

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:

pip 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.

pip install monai-deploy-app-sdk

# Clone monai-deploy-app-sdk repository for accessing examples.
git clone https://github.com/Project-MONAI/monai-deploy-app-sdk.git
cd monai-deploy-app-sdk

# Install necessary dependencies for simple_imaging_app
pip install matplotlib Pillow scikit-image

# Execute the app locally
python examples/apps/simple_imaging_app/app.py -i examples/apps/simple_imaging_app/input/brain_mr_input.jpg -o output

# Package app (creating MAP Docker image), using `-l DEBUG` option to see progress.
# Also please note that postfix will be added to user supplied tag for identifying CPU architecture and GPU type etc.
monai-deploy package examples/apps/simple_imaging_app -c examples/apps/simple_imaging_app/app.yaml -t simple_app:latest --platform x86_64 -l DEBUG

# Run the app with docker image and an input file locally
## Copy a test input file to 'input' folder
mkdir -p input && rm -rf input/*
cp examples/apps/simple_imaging_app/input/brain_mr_input.jpg input/
## Launch the app
monai-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

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

monai_deploy_app_sdk-3.0.0-py3-none-any.whl (154.5 kB view details)

Uploaded Python 3

File details

Details for the file monai_deploy_app_sdk-3.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for monai_deploy_app_sdk-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d11f088101b280eb51d75a98e0e321600bcf4eb933df12081ee42e130ceb5e46
MD5 a7b4740aa86f87e0c187136843128a5b
BLAKE2b-256 355913dbabd4dcc1c04805c0590f30965ded60e9bae2f76f9175da14765074c4

See more details on using hashes here.

Supported by

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