Giter Club home page Giter Club logo

brain-segmentation's Introduction

Brain segmentation

This is a source code for the deep learning segmentation used in the paper Association of genomic subtypes of lower-grade gliomas with shape features automatically extracted by a deep learning algorithm. It employs a U-Net like network for skull stripping and FLAIR abnormality segmentation. This repository contains a set of functions for data preprocessing (MatLab), training and inference (Python). Weights for trained models are provided and can be used for deep learning based skull stripping or fine-tuning on a different dataset. If you use our model or weights, please cite:

@article{buda2019association,
  title={Association of genomic subtypes of lower-grade gliomas with shape features automatically extracted by a deep learning algorithm},
  author={Buda, Mateusz and Saha, Ashirbani and Mazurowski, Maciej A},
  journal={Computers in Biology and Medicine},
  volume={109},
  year={2019},
  publisher={Elsevier},
  doi={10.1016/j.compbiomed.2019.05.002}
}

Developed by mateuszbuda.

The repository is divided into two folders. One for skull stripping and one for FLAIR abnormality segmentation. They are based on the same model architecture but can be used separately.

Prerequisites

  • MatLab 2016b for pre-processing
  • Python 2 with dependencies listed in the requirements.txt file
sudo pip install -r requirements.txt

Results

Below we show qualitative results for the average and median case. Blue outline corresponds to ground truth and red to the final automatic segmentation output. Images show FLAIR modality after preprocessing and skull stripping.

Average Case Median Case
Average case Median case

The distribution of Dice similarity coefficient (DSC) for the whole dataset of 110 cases used in our study.

DSC distribution

The red vertical line corresponds to mean DSC (83.60%) and the green one to median DSC (87.33%).

Trained weights

To download trained weights use download_weights.sh script located in both skull stripping or flair segmentation folder. It downloads *.h5 file with weights corresponding to training log shown in each task specific folder and responsible for the results reported there.

U-Net architecture

The figure below shows a U-Net architecture implemented in this repository.

unet

Data

brain-mri-lgg

kaggle.com/mateuszbuda/lgg-mri-segmentation

brain-segmentation's People

Contributors

mateuszbuda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brain-segmentation's Issues

Is is possible to have more detailed guidelines on pre/postprocessing?

Hi, I know this is a relatively old project, but I found several things that are unclear on preprocessing.

First, when I was reading the paper of this project (https://arxiv.org/pdf/1906.03720.pdf), I found that Figure 1 of the paper shows that preprocessing of the dataset happens before skull stripping, but its 3.1.1 Preprocessing says preprocessing("Adaptive window and level adjustment based on the image histogram to normalize intensities of tissues between cases, Z-score normalization of the entire data set") happens after skull stripping, so this confused me on when should the Matlab script be applied for preprocessing.

Second, there are two preprocessing.m in flair_segmentation and skull_stripping, and they are almost the same, so I'm wondering which script should I use to preprocess the data. Other than that, I copied the code for "Saving combined preprocessed slices from 3 modalities" from preprocessing.
m in flair_segmentation and applied the script on the dataset, but it's giving result that doesn't seem to be correct(see below).
test_1
test_2

Third, unrelated to preprocessing but I noticed that the skull stripping model sometimes tends to exclude the target area that is supposed to be segmented by the flair segmentation model due to the area's high "brightness", is there a way to solve this?

Trained model

Hello sir,

can we have (or download) a trained model to use to remove the skull ?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.