ANTsPyNet
Pre-trained models and utilities for deep learning on medical images in Python (Keras/TensorFlow)
Install / Use
/learn @ANTsX/ANTsPyNetREADME
Advanced Normalization Tools for Deep Learning in Python (ANTsPyNet)
A collection of deep learning architectures and applications ported to the Python language and tools for basic medical image processing. Based on keras and tensorflow with cross-compatibility with our R analog ANTsRNet. ANTsPyNet provides three high-level features:
- A large collection of common deep learning architectures for medical imaging that can be initialized
- Various pre-trained deep learning models to perform key medical imaging tasks
- Utility functions to improve training and evaluating of deep learning models on medical images
Overview
<details> <summary>Installation</summary>Binaries
The easiest way to install ANTsPyNet is via pip.
python -m pip install antspynet
From Source
Alternatively, you can download and install from source.
git clone https://github.com/ANTsX/ANTsPyNet
cd ANTsPyNet
python -m pip install .
</details>
<!--
## Quickstart
The core functionality that ANTsPyNet provides is the ability to initialize a Deep Learning model based on our large collection of model architectures specifically tailored for medical images. You can then train these initialized models using your standard `keras` or `tensorflow` workflows.
An example of initializing a deep learning model based on the is provided here:
```python
from antspynet.architectures import create_autoencoder_model
model = create_autoencoder_model((784, 500, 500, 2000, 10))
model.summary()
```
We also provide a collection of pre-trained models that can perform key medical imaging processing tasks such as brain extraction, segmentation, cortical thickness, and more. An example of reading a brain image using `ANTsPy` and then performing brain extraction using our pre-trained model in `ANTsPyNet` is presented here:
```python
import ants
import antspynet
t1 = ants.image_read(antspynet.get_antsxnet_data('mprage_hippmapp3r'))
seg = antspynet.brain_extraction(t1, modality="t1", verbose=True)
ants.plot(t1, overlay=seg, overlay_alpha=0.5)
```
-->
<details>
<summary>Architectures</summary>
Image voxelwise segmentation/regression
Image classification/regression
- AlexNet (2-D, 3-D)
- VGG (2-D, 3-D)
- ResNet (2-D, 3-D)
- ResNeXt (2-D, 3-D)
- WideResNet (2-D, 3-D)
- DenseNet (2-D, 3-D)
Object detection
Image super-resolution
- Super-resolution convolutional neural network (SRCNN) (2-D, 3-D)
- Expanded super-resolution (ESRCNN) (2-D, 3-D)
- Denoising auto encoder super-resolution (DSRCNN) (2-D, 3-D)
- Deep denoise super-resolution (DDSRCNN) (2-D, 3-D)
- ResNet super-resolution (SRResNet) (2-D, 3-D)
- Deep back-projection network (DBPN) (2-D, 3-D)
- Super resolution GAN
Registration and transforms
Generative adverserial networks
- Generative adverserial network (GAN)
- Deep Convolutional GAN
- Wasserstein GAN
- Improved Wasserstein GAN
- Cycle GAN
- Super resolution GAN
Clustering
</details> <details> <summary>Applications</summary>-
- Multi-modal brain extraction
- Deep Atropos (Six-tissue brain segmentation)
- Cortical thickness
- Desikan-Killiany-Tourville parcellation
- Harvard-Oxford Atlas subcortical parcellation
- DeepFLASH (medial temporal lobe parcellation)
- Hippmapp3r (hippocampal segmentation)
- Brain AGE
- Claustrum segmentation
- Hypothalamus segmentation
- Cerebellum morphology
- White matter hyperintensities segmentation
- Perivascular spaces segmentation (SHIVA)
- Brain tumor segmentation
- MRA-TOF vessel segmentation
- Lesion segmentation (WIP)
- Whole head inpainting
