Introduction
Because of its efficiency and high accuracy, deep learning has become a superhero in the healthcare field, where it is used for all tasks. However, because the community is still in its early stages, tools for developing deep learning models for medical imaging are scarce. The most difficult aspect of medical imaging is preprocessing the data because medical data differs from standard RGB/Grayscale images. It requires special treatment and functions to either preprocess or post-process them. MONAI, a large library, is one of the best and largest open source frameworks for medical imaging, and it is the subject of this blog post.
Table of Contents
- What is MONAI?
- Where can we use it?
- For what can we use it?
- Why do we need to use it?
- Resources
What is MONAI?
MONAI is an open source framework developed by Kitware, a company that has many open source tools. Specifically, MONAI was developed by:
Prerna Dogra, Jorge Cardoso, Sebastien Ourselin, Kimberly Powell, Andy Feng, Nic Ma, Wenqi Li, and the over 100 (!) open-source developers
It is built on PyTorch, with many PyTorch functions imported and modified. There are also MONAI-specific functions that can be used for pre- and post-processing medical images (Dicoms and Nifti). MONAI includes a plethora of cutting-edge architectures that you can simply import and use.
For more information, you can visit their website here.
Where can we Use MONAI?
The pre- and post-processing of medical data is a unique application of MONAI. Because the deep learning component can be accessed through other libraries. However, special functions and tools are required to preprocess medical images. And MONAI has everything we need, from uploading data to preprocessing and even augmenting it (which is a very difficult process in medical images.)
You can find all of the transforms you need for preprocessing, postprocessing, and data augmentation here.
For What can we Use MONAI?
MONAI has 2D and 3D models and can be used for image classification and segmentation (3D convolutions are often used for the 3D medical data).
For those who are unfamiliar with the distinction between image classification and image segmentation, image classification consists of classifying the entire image into a class or another without regard to the object location in the image, whereas image segmentation consists of classifying each pixel (voxel for 3D) to a class or another, which aids in recognizing the exact location of the object in the image.
Here’s an illustration of the distinction between image classification and image segmentation:
MONAI implements numerous models, including U-Net, DynNet, UNETR, and a variety of state-of-the-art architectures. You can find them all by following this link.
Why do we Need to Use MONAI?
I recommend MONAI because it is all-inclusive. It can be used for everything from gathering raw data to deploying your final model! It consists of three modules: MONAI-Core, MONAI-Labels, and MONAI-Deploy. You only need these three modules to set up a deep learning pipeline.
Resources
After I gave you a quick overview of MONAI, I’d like to share some resources that I created and believe will help you get started on your projects. Before that, you can look at the MONAI-GitHub Project’s repository for some examples to help you understand the fundamentals of MONAI.
My Course
My free 5 hours course about 3D automatic liver segmentation using MONAI and PyTorch can be found here.
My Videos
My Blogs
Lots of blogs about medical imaging and MONAI are on my website and can be found here.
Future Resources
A full course on deep learning for medical imaging using MONAI will be available soon. If you’re interested, you can sign up for the waitlist here.
There will be a significant discount for early arrivals!
🆕 NEW
Learn how to effectively manage and process DICOM files in Python with our comprehensive course, designed to equip you with the skills and knowledge you need to succeed.