All Projects → charan223 → Brain-Tumor-Segmentation-using-Topological-Loss

charan223 / Brain-Tumor-Segmentation-using-Topological-Loss

Licence: BSD-3-Clause license
A Tensorflow Implementation of Brain Tumor Segmentation using Topological Loss

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Brain-Tumor-Segmentation-using-Topological-Loss

FCN-Segmentation-TensorFlow
FCN for Semantic Image Segmentation achieving 68.5 mIoU on PASCAL VOC
Stars: ✭ 34 (+21.43%)
Mutual labels:  segmentation, fcn, image-segmentation
Multiclass Semantic Segmentation Camvid
Tensorflow 2 implementation of complete pipeline for multiclass image semantic segmentation using UNet, SegNet and FCN32 architectures on Cambridge-driving Labeled Video Database (CamVid) dataset.
Stars: ✭ 67 (+139.29%)
Mutual labels:  segmentation, fcn, image-segmentation
TensorFlow-Advanced-Segmentation-Models
A Python Library for High-Level Semantic Segmentation Models based on TensorFlow and Keras with pretrained backbones.
Stars: ✭ 64 (+128.57%)
Mutual labels:  segmentation, fcn, image-segmentation
Brain-MRI-Segmentation
Smart India Hackathon 2019 project given by the Department of Atomic Energy
Stars: ✭ 29 (+3.57%)
Mutual labels:  segmentation, image-segmentation, brain-tumor-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 (+342.86%)
Mutual labels:  segmentation, fcn, image-segmentation
Albumentations
Fast image augmentation library and an easy-to-use wrapper around other libraries. Documentation: https://albumentations.ai/docs/ Paper about the library: https://www.mdpi.com/2078-2489/11/2/125
Stars: ✭ 9,353 (+33303.57%)
Mutual labels:  segmentation, image-segmentation
Seg Mentor
TFslim based semantic segmentation models, modular&extensible boutique design
Stars: ✭ 43 (+53.57%)
Mutual labels:  segmentation, fcn
Brain-Tumor-Segmentation
Attention-Guided Version of 2D UNet for Automatic Brain Tumor Segmentation
Stars: ✭ 125 (+346.43%)
Mutual labels:  brats, brain-tumor-segmentation
Fcn train
The code includes all the file that you need in the training stage for FCN
Stars: ✭ 104 (+271.43%)
Mutual labels:  segmentation, fcn
Efficient Segmentation Networks
Lightweight models for real-time semantic segmentationon PyTorch (include SQNet, LinkNet, SegNet, UNet, ENet, ERFNet, EDANet, ESPNet, ESPNetv2, LEDNet, ESNet, FSSNet, CGNet, DABNet, Fast-SCNN, ContextNet, FPENet, etc.)
Stars: ✭ 579 (+1967.86%)
Mutual labels:  segmentation, image-segmentation
Fcn.tensorflow
Tensorflow implementation of Fully Convolutional Networks for Semantic Segmentation (http://fcn.berkeleyvision.org)
Stars: ✭ 1,230 (+4292.86%)
Mutual labels:  segmentation, fcn
Fusionseg
Video Object Segmentation
Stars: ✭ 116 (+314.29%)
Mutual labels:  segmentation, image-segmentation
Pytorch Toolbelt
PyTorch extensions for fast R&D prototyping and Kaggle farming
Stars: ✭ 942 (+3264.29%)
Mutual labels:  segmentation, image-segmentation
Kittiseg
A Kitti Road Segmentation model implemented in tensorflow.
Stars: ✭ 873 (+3017.86%)
Mutual labels:  segmentation, fcn
Segmentation
Catalyst.Segmentation
Stars: ✭ 27 (-3.57%)
Mutual labels:  segmentation, image-segmentation
Segmentation
Tensorflow implementation : U-net and FCN with global convolution
Stars: ✭ 101 (+260.71%)
Mutual labels:  segmentation, fcn
Kaggle dstl submission
Code for a winning model (3 out of 419) in a Dstl Satellite Imagery Feature Detection challenge
Stars: ✭ 159 (+467.86%)
Mutual labels:  segmentation, image-segmentation
Keras Segmentation
Get started with Semantic Segmentation based on Keras, including FCN32/FCN8/SegNet/U-Net
Stars: ✭ 151 (+439.29%)
Mutual labels:  segmentation, fcn
Keras unet plus plus
keras implementation of unet plus plus
Stars: ✭ 166 (+492.86%)
Mutual labels:  segmentation, image-segmentation
Segmentation models.pytorch
Segmentation models with pretrained backbones. PyTorch.
Stars: ✭ 4,584 (+16271.43%)
Mutual labels:  segmentation, image-segmentation

Brain Tumor Segmentation using Topological Loss in Convolutional Networks

This is a Tensorflow implementation of Topological and Smoothing losses. Source Code is taken from here

Overview

This repository provides source code and pre-trained models for brain tumor segmentation with BraTS dataset. The method is detailed in [1].

This implementation is based on NiftyNet and Tensorflow. While NiftyNet provides more automatic pipelines for dataloading, training, testing and evaluation, this naive implementation only makes use of NiftyNet for network definition, so that it is lightweight and extensible. A demo that makes more use of NiftyNet for brain tumor segmentation is proivde at https://cmiclab.cs.ucl.ac.uk/CMIC/NiftyNet/tree/dev/demos/BRATS17

If you use any resources in this repository, please cite the following papers:

  • [1] Guotai Wang, Wenqi Li, Sebastien Ourselin, Tom Vercauteren. "Automatic Brain Tumor Segmentation using Cascaded Anisotropic Convolutional Neural Networks." In Brainlesion: Glioma, Multiple Sclerosis, Stroke and Traumatic Brain Injuries. Pages 179-190. Springer, 2018. https://arxiv.org/abs/1709.00382
  • [2] Eli Gibson*, Wenqi Li*, Carole Sudre, Lucas Fidon, Dzhoshkun I. Shakir, Guotai Wang, Zach Eaton-Rosen, Robert Gray, Tom Doel, Yipeng Hu, Tom Whyntie, Parashkev Nachev, Marc Modat, Dean C. Barratt, Sébastien Ourselin, M. Jorge Cardoso^, Tom Vercauteren^. "NiftyNet: a deep-learning platform for medical imaging." Computer Methods and Programs in Biomedicine, 158 (2018): 113-122. https://arxiv.org/pdf/1709.03485 A slice from BRATS17

An example of brain tumor segmentation result.

Requirements

pip install niftynet

How to use

1, Prepare data

  • Download BraTS dataset, and uncompress the training and tesing zip files. For example, the training set will be in data_root/BRATS2015_Training or data_root/Brats17TrainingData and the validation set will be in data_root/BRATS2015_Validation or data_root/Brats17ValidationData.

2, How to train

The trainig process needs 9 steps, with axial view, sagittal view, coronal view for whole tumor, tumor core, and enhancing core, respectively.

The following commands are examples for BraTS 2017. However, you can edit the corresponding *.txt files for different configurations.

  • Train models for whole tumor in axial, sagittal and coronal views respectively. Run:
python modified_train.py config17/train_wt_ax.txt
python modified_train.py config17/train_wt_sg.txt
python modified_train.py config17/train_wt_cr.txt
  • Train models for tumor core in axial, sagittal and coronal views respectively. Run:
python modified_train.py  config17/train_tc_ax.txt
python modified_train.py  config17/train_tc_sg.txt
python modified_train.py  config17/train_tc_cr.txt
  • Train models for enhancing core in axial, sagittal and coronal views respectively. Run:
python modified_train.py  config17/train_en_ax.txt
python modified_train.py  config17/train_en_sg.txt
python modified_train.py  config17/train_en_cr.txt
  • To save the time for training, you may use the modals in axial view as initalizations for sagittal and coronal views. Copy variales in axial view to those in sagittal or coronal view by running:
python util/rename_variables.py

You may need to edit this file to set different parameters. As an example for Brats 2015, after running this command, you will see a model named model15/msnet_tc32sg_init that is copied from model15/msnet_tc32_20000.ckpt. Then just set start_iteration=1 and model_pre_trained=model15/msnet_tc32sg_init in config15/train_tc_sg.txt.

3, How to test

Write a configure file that is similar to config15/test_all_class.txt or config17/test_all_class.txt and set the value of model_file to your own model files. Run:

python test.py your_own_config_for_test.txt

4, Evaluation

Calcuate dice scores between segmentation and the ground truth, run:

python util/evaluation.py

You may need to edit this file to specify folders for segmentation and ground truth.

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