|
1 | 1 | # MONAI Tutorials
|
2 | 2 | This repository hosts the MONAI tutorials.
|
| 3 | + |
| 4 | +### 1. Requirements |
| 5 | +Most of the examples and tutorials require |
| 6 | +[matplotlib](https://matplotlib.org/) and [Jupyter Notebook](https://jupyter.org/). |
| 7 | + |
| 8 | +These could be installed by: |
| 9 | +```bash |
| 10 | +python -m pip install -U pip |
| 11 | +python -m pip install -U matplotlib |
| 12 | +python -m pip install -U notebook |
| 13 | +``` |
| 14 | + |
| 15 | +Some of the examples may require optional dependencies. In case of any optional import errors, |
| 16 | +please install the relevant packages according to the error message. |
| 17 | +Or install all optional requirements by: |
| 18 | +``` |
| 19 | +pip install -r https://raw.githubusercontent.com/Project-MONAI/MONAI/master/requirements-dev.txt |
| 20 | +``` |
| 21 | +### 2. List of notebooks |
| 22 | +#### [3d_image_transforms](./3d_image_transforms.ipynb) |
| 23 | +This notebook demonstrates the transformations on volumetric images. |
| 24 | +#### [automatic_mixed_precision](./automatic_mixed_precision.ipynb) |
| 25 | +This tutorial shows how to apply the automatic mixed precision(AMP) feature of PyTorch into training and evaluation programs. |
| 26 | +And compares the training speed and memory usage with/without AMP. |
| 27 | +#### [brats_segmentation_3d](./brats_segmentation_3d.ipynb) |
| 28 | +This tutorial shows how to construct a training workflow of multi-labels segmentation task based on [MSD Brain Tumor dataset](http://medicaldecathlon.com). |
| 29 | +#### [cache_dataset_speed](./cache_dataset_speed.ipynb) |
| 30 | +This tutorial shows how to accelerate PyTorch medical DL program based on MONAI `CacheDataset`. |
| 31 | +#### [integrate_3rd_party_transforms](./integrate_3rd_party_transforms.ipynb) |
| 32 | +This tutorial shows how to integrate 3rd party transforms into MONAI program. |
| 33 | +Mainly shows transforms from BatchGenerator, TorchIO, Rising and ITK. |
| 34 | +#### [mednist_GAN_tutorial](./mednist_GAN_tutorial.ipynb) |
| 35 | +This notebook illustrates the use of MONAI for training a network to generate images from a random input tensor. |
| 36 | +A simple GAN is employed to do with a separate Generator and Discriminator networks. |
| 37 | +#### [mednist_GAN_workflow](./mednist_GAN_workflow.ipynb) |
| 38 | +This notebook shows the `GanTrainer`, a MONAI workflow engine for modularized adversarial learning. Train a medical image reconstruction network using the MedNIST hand CT scan dataset. Based on the tutorial. |
| 39 | +#### [mednist_tutorial](./mednist_tutorial.ipynb) |
| 40 | +This notebook shows how to easily integrate MONAI features into existing PyTorch programs. |
| 41 | +It's based on the MedNIST dataset which is very suitable for beginners as a tutorial. |
| 42 | +The content is also available as [a Colab tutorial](https://colab.research.google.com/drive/1wy8XUSnNWlhDNazFdvGBHLfdkGvOHBKe). |
| 43 | +#### [models_ensemble](./models_ensemble.ipynb) |
| 44 | +This tutorial shows how to leverage `EnsembleEvaluator`, `MeanEnsemble` and `VoteEnsemble` modules in MONAI to set up ensemble program. |
| 45 | +#### [multi_gpu_test](./multi_gpu_test.ipynb) |
| 46 | +This notebook is a quick demo for devices, run the Ignite trainer engine on CPU, GPU and multiple GPUs. |
| 47 | +#### [nifti_read_example](./nifti_read_example.ipynb) |
| 48 | +Illustrate reading NIfTI files and iterating over image patches of the volumes loaded from them. |
| 49 | +#### [persistent_dataset_speed](./persistent_dataset_speed.ipynb) |
| 50 | +This notebook shows `PersistentDataset` that processes original data sources through the non-random transforms on first use. |
| 51 | +And stores these intermediate tensor values to an on-disk persistence representation. |
| 52 | +The intermediate processed tensors are loaded from disk on each use for processing by the random-transforms for each analysis request. |
| 53 | +#### [post_transforms](./post_transforms.ipynb) |
| 54 | +This notebook shows the usage of several post transforms based on the model output of spleen segmentation task. |
| 55 | +#### [public_datasets](./public_datasets.ipynb) |
| 56 | +This notebook shows how to quickly set up training workflow based on `MedNISTDataset` and `DecathlonDataset`, and how to create a new dataset. |
| 57 | +#### [spleen_segmentation_3d](./spleen_segmentation_3d.ipynb) |
| 58 | +This notebook is an end-to-end training and evaluation example of 3D segmentation based on [MSD Spleen dataset](http://medicaldecathlon.com). |
| 59 | +The example shows the flexibility of MONAI modules in a PyTorch-based program: |
| 60 | +- Transforms for dictionary-based training data structure. |
| 61 | +- Load NIfTI images with metadata. |
| 62 | +- Scale medical image intensity with expected range. |
| 63 | +- Crop out a batch of balanced image patch samples based on positive / negative label ratio. |
| 64 | +- Cache IO and transforms to accelerate training and validation. |
| 65 | +- 3D UNet, Dice loss function, Mean Dice metric for 3D segmentation task. |
| 66 | +- Sliding window inference. |
| 67 | +- Deterministic training for reproducibility. |
| 68 | +#### [spleen_segmentation_3d_lightning](./spleen_segmentation_3d_lightning.ipynb) |
| 69 | +This notebook shows how MONAI may be used in conjunction with the [PyTorch Lightning](https://github.com/PyTorchLightning/pytorch-lightning) framework. |
| 70 | +#### [unet_segmentation_3d_catalyst](./unet_segmentation_3d_catalyst.ipynb) |
| 71 | +This notebook shows how MONAI may be used in conjunction with the [Catalyst](https://github.com/catalyst-team/catalyst) framework. |
| 72 | +#### [transform_speed](./transform_speed.ipynb) |
| 73 | +Illustrate reading NIfTI files and test speed of different transforms on different devices. |
| 74 | +#### [transforms_demo_2d](./transforms_demo_2d.ipynb) |
| 75 | +This notebook demonstrates the image transformations on histology images using |
| 76 | +[the GlaS Contest dataset](https://warwick.ac.uk/fac/sci/dcs/research/tia/glascontest/download/). |
| 77 | +#### [unet_segmentation_3d_ignite](./unet_segmentation_3d_ignite.ipynb) |
| 78 | +This notebook is an end-to-end training & evaluation example of 3D segmentation based on synthetic dataset. |
| 79 | +The example is a PyTorch Ignite program and shows several key features of MONAI, especially with medical domain specific transforms and event handlers. |
0 commit comments