All Projects → frankkramer-lab → Miscnn

frankkramer-lab / Miscnn

Licence: gpl-3.0
A framework for Medical Image Segmentation with Convolutional Neural Networks and Deep Learning

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Miscnn

Niftynet
[unmaintained] An open-source convolutional neural networks platform for research in medical image analysis and image-guided therapy
Stars: ✭ 1,276 (+557.73%)
Mutual labels:  convolutional-neural-networks, segmentation, pip, medical-imaging
Quicknat pytorch
PyTorch Implementation of QuickNAT and Bayesian QuickNAT, a fast brain MRI segmentation framework with segmentation Quality control using structure-wise uncertainty
Stars: ✭ 74 (-61.86%)
Mutual labels:  convolutional-neural-networks, segmentation, medical-imaging
Data Science Bowl 2018
End-to-end one-class instance segmentation based on U-Net architecture for Data Science Bowl 2018 in Kaggle
Stars: ✭ 56 (-71.13%)
Mutual labels:  convolutional-neural-networks, segmentation, medical-imaging
Torchio
Medical image preprocessing and augmentation toolkit for deep learning
Stars: ✭ 708 (+264.95%)
Mutual labels:  convolutional-neural-networks, segmentation, medical-imaging
Cnn Interpretability
🏥 Visualizing Convolutional Networks for MRI-based Diagnosis of Alzheimer’s Disease
Stars: ✭ 68 (-64.95%)
Mutual labels:  convolutional-neural-networks, medical-imaging
Pneumonia Detection From Chest X Ray Images With Deep Learning
Detecting Pneumonia in Chest X-ray Images using Convolutional Neural Network and Pretrained Models
Stars: ✭ 64 (-67.01%)
Mutual labels:  convolutional-neural-networks, medical-imaging
Vnet Tensorflow
Tensorflow implementation of the V-Net architecture for medical imaging segmentation.
Stars: ✭ 84 (-56.7%)
Mutual labels:  segmentation, medical-imaging
3dunet abdomen cascade
Stars: ✭ 91 (-53.09%)
Mutual labels:  convolutional-neural-networks, segmentation
Hyperdensenet
This repository contains the code of HyperDenseNet, a hyper-densely connected CNN to segment medical images in multi-modal image scenarios.
Stars: ✭ 124 (-36.08%)
Mutual labels:  convolutional-neural-networks, segmentation
Awesome Gan For Medical Imaging
Awesome GAN for Medical Imaging
Stars: ✭ 1,814 (+835.05%)
Mutual labels:  segmentation, medical-imaging
Lung Segmentation 2d
Lung fields segmentation on CXR images using convolutional neural networks.
Stars: ✭ 138 (-28.87%)
Mutual labels:  convolutional-neural-networks, segmentation
Pointcnn
PointCNN: Convolution On X-Transformed Points (NeurIPS 2018)
Stars: ✭ 1,120 (+477.32%)
Mutual labels:  convolutional-neural-networks, segmentation
Easycnn
easy convolution neural network
Stars: ✭ 136 (-29.9%)
Mutual labels:  framework, convolutional-neural-networks
Livianet
This repository contains the code of LiviaNET, a 3D fully convolutional neural network that was employed in our work: "3D fully convolutional networks for subcortical segmentation in MRI: A large-scale study"
Stars: ✭ 143 (-26.29%)
Mutual labels:  convolutional-neural-networks, medical-imaging
Switchnorm segmentation
Switchable Normalization for semantic image segmentation and scene parsing.
Stars: ✭ 47 (-75.77%)
Mutual labels:  convolutional-neural-networks, segmentation
Meshcnn
Convolutional Neural Network for 3D meshes in PyTorch
Stars: ✭ 1,032 (+431.96%)
Mutual labels:  convolutional-neural-networks, segmentation
Open Solution Data Science Bowl 2018
Open solution to the Data Science Bowl 2018
Stars: ✭ 159 (-18.04%)
Mutual labels:  segmentation, medical-imaging
Segment Open
Segment Source Distribution
Stars: ✭ 34 (-82.47%)
Mutual labels:  segmentation, medical-imaging
Extensionsindex
Slicer extensions index
Stars: ✭ 36 (-81.44%)
Mutual labels:  segmentation, medical-imaging
Kiu Net Pytorch
Official Pytorch Code of KiU-Net for Image Segmentation - MICCAI 2020 (Oral)
Stars: ✭ 134 (-30.93%)
Mutual labels:  segmentation, medical-imaging

MIScnn workflow

shield_python shield_build shield_coverage shield_pypi_version shield_pypi_downloads shield_license

The open-source Python library MIScnn is an intuitive API allowing fast setup of medical image segmentation pipelines with state-of-the-art convolutional neural network and deep learning models in just a few lines of code.

MIScnn provides several core features:

  • 2D/3D medical image segmentation for binary and multi-class problems
  • Data I/O, preprocessing and data augmentation for biomedical images
  • Patch-wise and full image analysis
  • State-of-the-art deep learning model and metric library
  • Intuitive and fast model utilization (training, prediction)
  • Multiple automatic evaluation techniques (e.g. cross-validation)
  • Custom model, data I/O, pre-/postprocessing and metric support
  • Based on Keras with Tensorflow as backend

MIScnn workflow

Resources

Getting started: 60 seconds to a MIS pipeline

# Import the MIScnn module
import miscnn

# Create a Data I/O interface for kidney tumor CT scans in NIfTI format
from miscnn.data_loading.interfaces import NIFTI_interface
interface = NIFTI_interface(pattern="case_000[0-9]*", channels=1, classes=3)

# Initialize data path and create the Data I/O instance
data_path = "/home/mudomini/projects/KITS_challenge2019/kits19/data.original/"
data_io = miscnn.Data_IO(interface, data_path)

# Create a Preprocessor instance to configure how to preprocess the data into batches
pp = miscnn.Preprocessor(data_io, batch_size=4, analysis="patchwise-crop",
                         patch_shape=(128,128,128))

# Create a deep learning neural network model with a standard U-Net architecture
from miscnn.neural_network.architecture.unet.standard import Architecture
unet_standard = Architecture()
model = miscnn.Neural_Network(preprocessor=pp, architecture=unet_standard)

Congratulations to your ready-to-use Medical Image Segmentation pipeline including data I/O, preprocessing and data augmentation with default setting.

Let's run a model training on our data set. Afterwards, predict the segmentation of a sample using the fitted model.

# Training the model with 80 samples for 500 epochs
sample_list = data_io.get_indiceslist()
model.train(sample_list[0:80], epochs=500)

# Predict the segmentation for 20 samples
pred = model.predict(sample_list[80:100], return_output=True)

Now, let's run a 5-fold Cross-Validation with our model, create automatically evaluation figures and save the results into the directory "evaluation_results".

from miscnn.evaluation import cross_validation

cross_validation(sample_list, model, k_fold=5, epochs=100,
                 evaluation_path="evaluation_results", draw_figures=True)

More detailed examples for popular biomedical data sets or diverse tutorials for MIScnn are available as Jupyter Notebooks in this repository.

Installation

There are two ways to install MIScnn:

  • Install MIScnn from PyPI (recommended):

Note: These installation steps assume that you are on a Linux or Mac environment. If you are on Windows or in a virtual environment without root, you will need to remove sudo to run the commands below.

sudo pip install miscnn
  • Alternatively: install MIScnn from the GitHub source:

First, clone MIScnn using git:

git clone https://github.com/frankkramer-lab/MIScnn

Then, cd to the MIScnn folder and run the install command:

cd MIScnn
sudo python setup.py install

Experiments and Results

The task of the Kidney Tumor Segmentation challenge 2019 (KITS19) was to compute a semantic segmentation of arterial phase abdominal CT scans from 300 kidney cancer patients. Each pixel had to be labeled into one of three classes: Background, kidney or tumor. The original scans have an image resolution of 512x512 and on average 216 slices (highest slice number is 1059).

MIScnn was used on the KITS19 training data set in order to perform a 3-fold cross-validation with a 3D standard U-Net model.

evaluation plots

example gif

Author

Dominik Müller
Email: [email protected]
IT-Infrastructure for Translational Medical Research
University Augsburg
Bavaria, Germany

How to cite / More information

Müller, D., Kramer, F. MIScnn: a framework for medical image segmentation with convolutional neural networks and deep learning. BMC Med Imaging 21, 12 (2021).
DOI: https://doi.org/10.1186/s12880-020-00543-7

Article{miscnn21,
  title={MIScnn: a framework for medical image segmentation with convolutional neural networks and deep learning},
  author={Dominik Müller and Frank Kramer},
  year={2021},
  journal={BMC Medical Imaging},
  volume={21},
  url={https://doi.org/10.1186/s12880-020-00543-7},
  doi={10.1186/s12880-020-00543-7},
  eprint={1910.09308},
  archivePrefix={arXiv},
  primaryClass={eess.IV}
}

Thank you for citing our work.

License

This project is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
See the LICENSE.md file for license rights and limitations.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].