All Projects → xf4j → Brats17

xf4j / Brats17

Licence: mit
Patch-based 3D U-Net for brain tumor segmentation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Brats17

Segmentation models.pytorch
Segmentation models with pretrained backbones. PyTorch.
Stars: ✭ 4,584 (+5292.94%)
Mutual labels:  segmentation, unet
Medicalzoopytorch
A pytorch-based deep learning framework for multi-modal 2D/3D medical image segmentation
Stars: ✭ 546 (+542.35%)
Mutual labels:  segmentation, unet
Tianchi Medical Lungtumordetect
天池医疗AI大赛[第一季]:肺部结节智能诊断 UNet/VGG/Inception/ResNet/DenseNet
Stars: ✭ 314 (+269.41%)
Mutual labels:  segmentation, unet
Dlcv for beginners
《深度学习与计算机视觉》配套代码
Stars: ✭ 1,244 (+1363.53%)
Mutual labels:  segmentation, unet
Meshcnn
Convolutional Neural Network for 3D meshes in PyTorch
Stars: ✭ 1,032 (+1114.12%)
Mutual labels:  3d, segmentation
Segmentation models
Segmentation models with pretrained backbones. Keras and TensorFlow Keras.
Stars: ✭ 3,575 (+4105.88%)
Mutual labels:  segmentation, unet
Unet
unet for image segmentation
Stars: ✭ 3,751 (+4312.94%)
Mutual labels:  segmentation, unet
TensorFlow-Advanced-Segmentation-Models
A Python Library for High-Level Semantic Segmentation Models based on TensorFlow and Keras with pretrained backbones.
Stars: ✭ 64 (-24.71%)
Mutual labels:  segmentation, unet
Segmentation Networks Benchmark
Evaluation framework for testing segmentation networks in Keras
Stars: ✭ 34 (-60%)
Mutual labels:  segmentation, unet
Unet Segmentation Pytorch Nest Of Unets
Implementation of different kinds of Unet Models for Image Segmentation - Unet , RCNN-Unet, Attention Unet, RCNN-Attention Unet, Nested Unet
Stars: ✭ 683 (+703.53%)
Mutual labels:  segmentation, unet
Apc Vision Toolbox
MIT-Princeton Vision Toolbox for the Amazon Picking Challenge 2016 - RGB-D ConvNet-based object segmentation and 6D object pose estimation.
Stars: ✭ 277 (+225.88%)
Mutual labels:  3d, segmentation
Unet 3d
3D Unet Equipped with Advanced Deep Learning Methods
Stars: ✭ 57 (-32.94%)
Mutual labels:  segmentation, unet
Pytorch Saltnet
Kaggle | 9th place single model solution for TGS Salt Identification Challenge
Stars: ✭ 270 (+217.65%)
Mutual labels:  segmentation, unet
Cvpods
All-in-one Toolbox for Computer Vision Research.
Stars: ✭ 277 (+225.88%)
Mutual labels:  3d, segmentation
PyTorch-UNet
PyTorch Implementation for Segmentation and Saliency Prediction
Stars: ✭ 21 (-75.29%)
Mutual labels:  segmentation, unet
Bcdu Net
BCDU-Net : Medical Image Segmentation
Stars: ✭ 314 (+269.41%)
Mutual labels:  segmentation, unet
Brain-MRI-Segmentation
Smart India Hackathon 2019 project given by the Department of Atomic Energy
Stars: ✭ 29 (-65.88%)
Mutual labels:  segmentation, unet
unet-pytorch
No description or website provided.
Stars: ✭ 18 (-78.82%)
Mutual labels:  segmentation, unet
Cilantro
A lean C++ library for working with point cloud data
Stars: ✭ 577 (+578.82%)
Mutual labels:  3d, segmentation
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 (-34.12%)
Mutual labels:  segmentation, unet

Synopsis

Submission for Multimodal Brain Tumor Segmentation Challenge 2017 (http://braintumorsegmentation.org/). A patch-based 3D U-Net model is used. Instead of predicting the class label of the center pixel, this model predicts the class label for the entire patch. A sliding-window method is used in deployment with overlaps between patches to average the predictions.

Code Example

The workflow includes bias correction, patch extraction, training, post-processing, testing and submission. After training data is downloaded, run python bias_correction.py input_dir to perform bias field correction based on N4ITK (https://www.ncbi.nlm.nih.gov/pubmed/20378467). The corrected dataset will be saved at the same folder with the raw dataset. Run python generate_patches.py input_dir output_dir to generate patches for training. To train the model, run python main.py --train=True --train_data_dir=train_patch_dir. Or you can modify the default parameters in main.py so that you can just run python main.py. Check model.py for more details about the network structure.
To test the model on validation dataset, run python main.py --train=False --deploy_data_dir=deploy_data_dir --deploy_output_dir=deploy_output_dir. The results will be saved at deploy_output_dir. The network structure for survival prediction is not working good as the result is similar as random guessing. So you can ignore that by setting run_survival to False.
To combine the results and generate the final label maps, run python prepare_for_submission.py input_dir output_dir.

Installation

The model is implemented and tested using python 2.7 and Tensorflow 1.1.0, but python 3 and newer versions of Tensorflow should also work. Other required libraries include: numpy, h5py, skimage, transforms3d, nibabel, scipy, nipype. You also need to install ants for bias correction. Read the instructions for Nipype (http://nipy.org/nipype/0.9.2/interfaces/generated/nipype.interfaces.ants.segmentation.html) and Ants (http://stnava.github.io/ANTs/) for more information.

Contributors

Xue Feng, Department of Biomedical Engineering, University of Virginia [email protected]

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