All Projects → soribadiaby → Deep-Learning-liver-segmentation

soribadiaby / Deep-Learning-liver-segmentation

Licence: other
Application of Deep Learning to the segmentation of medical images

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deep-Learning-liver-segmentation

covid19.MIScnn
Robust Chest CT Image Segmentation of COVID-19 Lung Infection based on limited data
Stars: ✭ 77 (+97.44%)
Mutual labels:  medical-imaging, u-net
unet-pytorch
This is the example implementation of UNet model for semantic segmentations
Stars: ✭ 17 (-56.41%)
Mutual labels:  medical-imaging, u-net
Staintools
Tools for tissue image stain normalisation and augmentation in Python 3
Stars: ✭ 164 (+320.51%)
Mutual labels:  medical-imaging
melanoma segmentation
Segmentation of skin cancers on ISIC 2017 challenge dataset.
Stars: ✭ 47 (+20.51%)
Mutual labels:  medical-imaging
Delira
Lightweight framework for fast prototyping and training deep neural networks with PyTorch and TensorFlow
Stars: ✭ 220 (+464.1%)
Mutual labels:  medical-imaging
Fast
A framework for GPU based high-performance medical image processing and visualization
Stars: ✭ 179 (+358.97%)
Mutual labels:  medical-imaging
Dicoogle
Dicoogle - Open Source PACS
Stars: ✭ 237 (+507.69%)
Mutual labels:  medical-imaging
Open Solution Data Science Bowl 2018
Open solution to the Data Science Bowl 2018
Stars: ✭ 159 (+307.69%)
Mutual labels:  medical-imaging
SemiDenseNet
Repository containing the code of one of the networks that we employed in the iSEG Grand MICCAI Challenge 2017, infant brain segmentation.
Stars: ✭ 55 (+41.03%)
Mutual labels:  medical-imaging
Bccd dataset
BCCD (Blood Cell Count and Detection) Dataset is a small-scale dataset for blood cells detection.
Stars: ✭ 216 (+453.85%)
Mutual labels:  medical-imaging
DARTS
Code for DARTS: DenseUnet-based Automatic Rapid Tool for brain Segmentation
Stars: ✭ 61 (+56.41%)
Mutual labels:  medical-imaging
Pyimsegm
Image segmentation - general superpixel segmentation & center detection & region growing
Stars: ✭ 213 (+446.15%)
Mutual labels:  medical-imaging
Miscnn
A framework for Medical Image Segmentation with Convolutional Neural Networks and Deep Learning
Stars: ✭ 194 (+397.44%)
Mutual labels:  medical-imaging
Gdcm
Grassroots DICOM read-only mirror. Only for Pull Request. Please report bug at http://sf.net/p/gdcm
Stars: ✭ 240 (+515.38%)
Mutual labels:  medical-imaging
Visvis
Visvis - the object oriented approach to visualization
Stars: ✭ 180 (+361.54%)
Mutual labels:  medical-imaging
ResUNetPlusPlus-with-CRF-and-TTA
ResUNet++, CRF, and TTA for segmentation of medical images (IEEE JBIHI)
Stars: ✭ 98 (+151.28%)
Mutual labels:  medical-imaging
Medical Transformer
Pytorch Code for "Medical Transformer: Gated Axial-Attention for Medical Image Segmentation"
Stars: ✭ 153 (+292.31%)
Mutual labels:  medical-imaging
Neurite
Neural networks toolbox focused on medical image analysis
Stars: ✭ 203 (+420.51%)
Mutual labels:  medical-imaging
Chexnet With Localization
Weakly Supervised Learning for Findings Detection in Medical Images
Stars: ✭ 238 (+510.26%)
Mutual labels:  medical-imaging
time-series-annotator
Time series annotation library.
Stars: ✭ 52 (+33.33%)
Mutual labels:  medical-imaging

Liver segmentation project

Purpose : the objective is to automatically delineate liver on patient scans by computer vision. The method used is from the research paper "U-Net: Convolutional Networks for Biomedical Image Segmentation"

In this project we apply the method to the segmentation of liver images as described in this research paper https://arxiv.org/pdf/1702.05970.pdf.

Data

The data is available in NifTi format here. This dataset consists of 20 medical examinations in 3D, we have the source image as well as a mask of segmentation of the liver for each of these examinations. We use the nibabel library (http://nipy.org/nibabel/) to read associated images and masks.

Model

Train a U-net architecture, a fully convolutional network. The principle of this architecture is to add to a usual contracting network, layers with upsampling operators instead of pooling. This allow the network to learn context (contracting path), then localization (expansive path). Context information is propagated to higher resolution layers thanks to skip-connexions. So we have images of the same size as input

in the data.py script, we perform axial cuts of our 3D images. So 256x256 images are input to the network

Evaluation

As metric we use the Dice coefficient (which is quite similar to the Jaccard coefficient)

How it works

  1. First download the data whose link has been given previously
  2. Create a 'raw' folder
  3. In the 'raw' folder, create a 'test' folder, and a 'train' folder
  4. Then separate the data in two sets (train and test, typically we use 13 samples for the train set and 7 for the test set) and put them in the corresponding directories that you can find in the 'raw' folder
  5. Run data.py , this will save the train and test data in npy format
  6. Finally launch the notebook, you can observe a curve of the Dice coef according to the number of epochs and visualize your predictions in the folder 'preds'
(Feel free to play with the parameters : learning rate, optimizer etc.)

Some results

Finally we get the predictions for a particular cut (delineated in yellow)

The evolution of the Dice coef for 20 epochs, this plot shows consistent results and a test Dice coef reaching almost 0.87

Acknowledgments

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].