Table of Contents
Project development in AI in the healthcare domain can be exhausting without MONAI because computer vision and image processing methods in healthcare are quite different from regular methods. Evaluation methods and KPIs are different in medical models from others. Additionally, there are many imaging modalities, and every modality has its own data and labeling structure. We need healthcare-specific solutions to standardize methods and reproduce research results.
What is MONAI?
NVIDIA and King’s College London started Project MONAI, and Project MONAI developed MONAI. Its name comes from the initials of Medical Open Network for Artificial Intelligence, and it is a Python framework for healthcare imaging. It provides healthcare domain-optimized features for developers. It brings the PyTorch ecosystem to healthcare-specific applications because it is based on PyTorch. It is published open-source and distributed with Apache 2.0 license.
It solves many of our problems when we encounter developing AI models in healthcare. It brings a standardized, user-friendly, reproducible, and high-quality code structure and covers end-to-end workflow with labeling, training, and deployment tools. You can visit the MONAI Project website from here.
Why is MONAI Needed?
The medical AI domain is not just another field where generic AI solutions can be applied. It demands specific solutions tailored to its unique challenges and requirements. Addressing these needs will pave the way for more accurate, efficient, and reliable medical AI applications, ultimately benefiting patients and healthcare providers.
Biomedical applications have unique needs, including specialized data processing for MR, CT, and US images. They utilize specific data formats, such as DICOM and NIfTI, that demand special support. Certain AI network architectures are optimized for these applications. Data transformations tailored to these applications enhance data processing and training.
For consistent scientific results, reproducible experiments using accessible software are essential. A community-driven library addressing these needs can minimize redundancy. Baseline network implementations offer a standard for comparing various networks and outcomes.
MONAI provides a framework of deep learning facilities and infrastructure to meet these needs in a flexible Pytorch-compatible way. It contributes to reproducibility by making the training and distribution of experiments easier. The design principle of MONAI is to provide flexible and light APIs for users with varying expertise. All the core components are independent modules, which can be easily integrated into any existing PyTorch program. Users can leverage the workflows in MONAI to quickly set up a robust training or evaluation program for research experiments.
How to Install MONAI?
MONAI has three components: Label, Core, and Deploy. Each component should be installed separately. We can use
conda managers to install each component. You can choose one of them according to your development environment.
Install with pip
pip install monai pip install monailabel pip install monai-deploy-app-sdk
Install with conda
conda install -c conda-forge monai conda install -c conda-forge monailabel conda install -c conda-forge monai-deploy-app-sdk
Using MONAI Docker Images
If you are familiar with Docker and containerization, you may want to use the Docker container of MONAI from Docker Hub. The official Docker image contains all tools that you need to use MONAI. So, working with Docker images is gorgeous and not exhausting when you understand the container mechanics.
Working with Docker containers is beneficial. Because official images are stable environments, you can directly start development with them. If you use these images while developing, you can also use them in the production stage. They significantly reduce your deployment time. Also, when a new version of MONAI is released, you update your container, and then your environments and dependencies are updated.
If you want to use MONAI with Docker images, you can read my How to Use MONAI Docker Images post.
How to Learn MONAI?
MONAI has an awesome community. All resources are growing and getting better day by day. I believe someone will help you when you are stuck on your project. Now, I want to mention key resources for starting to learn.
My first station is official documentation whenever I learn new frameworks or technology. Because documentation is generally the most frequently updated content for tools, also being familiar with documentation will greatly reduce your error rates and error-solving times.
MONAI Tutorials Repository
The best place to learn from others’ code is MONAI Tutorials repository. This repository contains dozens of tutorials in Jupyter Notebook format. So, it is really easy to follow and learn best practices.
NVIDIA strongly backs MONAI, and they consistently organize events, meetups, and webinars. They mention best practices, specific features for healthcare, and roadmap all the time. You can access all these resources free on NVIDIA On Demand.
MONAI Discord Community
Discord is an awesome platform for engagement, and MONAI has an inspiring community. You can join the community from this link and engage with them.
MONAI is an innovative and easy-to-use machine learning framework created based on PyTorch. It has specific modules for healthcare and medical imaging. If you are working on AI in healthcare, you should give it a chance.