SkillAgentSearch skills...

BraTs

PyTorch & Keras implementation for BraTs (Brain Tumor Segmentation)

Install / Use

/learn @cv-lee/BraTs
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

1. BraTs (Brain Tumor Segmentation)

1-1) Overview

<div align="center"> <img src="https://i.imgur.com/emAFrL1.gif"> <img src="https://i.imgur.com/dGrmh2x.gif"> <br> <em align="center">Fig 1: Brain Complete Tumor Segmention</em> <br> <img src="https://i.imgur.com/n0WAMwh.gif"> <img src="https://i.imgur.com/PFTwmVb.gif"> <br> <em align="center">Fig 2: Brain Core Tumor Segmention</em> <br> <br> <img src="https://placehold.it/15/1589F0/000000?text=+"> <em align="center">Ground Truth</em> <br> <img src="https://placehold.it/15/f03c15/000000?text=+"> <em align="center">Prediction</em> <br> </div> <br> <br>

1-2) About

This project is a segmentation model to diagnose brain tumor (Complete, Core) using BraTS 2016, 2017 dataset.

BraTS has always been focusing on the evaluation of state-of-the-art methods for the segmentation of brain tumors in multimodal magnetic resonance imaging (MRI) scans. BraTS 2018 utilizes multi-institutional pre- operative MRI scans and focuses on the segmentation of intrinsically heterogeneous (in appearance, shape, and histology) brain tumors, namely gliomas. Furthemore, to pinpoint the clinical relevance of this segmentation task, BraTS’18 also focuses on the prediction of patient overall survival, via integrative analyses of radiomic features and machine learning algorithms.

<br> <br>

1-3) Models

  • U-Net
pytorch/models/unet.py
<div align="center"> <img src="https://i.imgur.com/OXtVFvT.png"> <br> <br> <em align="center">Fig 3: U-Net Diagram </em> <br> </div> <br> <br>
  • PSPNet
pytorch/models/pspnet.py
<div align="center"> <img src="https://i.imgur.com/y8M2IzT.png"> <br> <br> <em align="center">Fig 4: PSPNet Diagram </em> <br> </div> <br> <br>
  • DeepLab V3 +
pytorch/models/deeplab.py
<div align="center"> <img src="https://i.imgur.com/5IBKzDx.png"> <br> <br> <em align="center">Fig 5: DeepLab V3+ Diagram </em> <br> </div> <br> <br>

2. Dataset

2-1) Overview

Multimodal MRI Dataset

File:                       A File has Multi-Modal MRI Data of one person

File Format:          nii.gz

Image Shape:       240(Slide Width) × 240(Slide Height) × 155(Number of Slide) × 4(Multi-mode)

Image Mode:        4 (Multi-mode)

<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; channel 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; channel 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; channel 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; channel 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <div align="center"> <img src="https://i.imgur.com/xXkKu2L.png"> </div> <br>

Label Shape:    channel 0: background

                        channel 1: necrotic and non-enhancing tumor

                        channel 2: edema

                        channel 3: enhancing tumor

<br>

2-2) Data Augmentation

2-3) Code

pytorch/preprocess.py
pytorch/dataset.py
<br>

preprocess.py: Code for data pre-processing. Using this, original image(240×240×155×4) can be diveded into 155 image pieces(240×240) of the specific mode. Also, original label(240×240×155) can be divided into 155 label pieces.

dataset.py: Code for Prepareing dataset and dataloader for Pytorch modules

<br> <br>

3. Train

3-1) Loss Function

Dice Coefficient Loss

3-2) Optimizer

Adam Optimizer

Stochastic Gradient Descent <br>

3-3) Hyperparameter

learning rate = 1e-4

maximum number of epochs = 100

Weights Init: Normal Distribution (mean:0, std:0.01)

Bias Init: Initialized as 0

<br>

3-4) Code

pytorch/train.py
pytorch/utils.py

train.py: Code for training model and getting several inputs

utils.py: Code for loss Function, utils Functions, UI Functions, and etc

<br> <br>

4. Test

pytorch/test.py

test.py: Code for testing MRI inputs

<br>

5. Result

5-1) Prediction

<div align="center"> <img src="https://i.imgur.com/emAFrL1.gif"> <img src="https://i.imgur.com/dGrmh2x.gif"> <br> <em align="center">Fig 1: Brain Complete Tumor Segmention</em> <br> <img src="https://i.imgur.com/n0WAMwh.gif"> <img src="https://i.imgur.com/PFTwmVb.gif"> <br> <em align="center">Fig 2: Brain Core Tumor Segmention</em> <br> <br> <img src="https://placehold.it/15/1589F0/000000?text=+"> <em align="center">Ground Truth</em> <br> <img src="https://placehold.it/15/f03c15/000000?text=+"> <em align="center">Prediction</em> <br> </div> <br>

5-2) Statistical Indices

<div align="center"> <img src="https://i.imgur.com/tI9PXLR.png"> <br> <em align="center">Fig 3: Statistical Indices</em> <br> </div> <br> <br>

6. Reference

[1] Automatic Brain Tumor Detection and Segmentation Using U-Net Based Fully Convolutional Networks arugmentation

[2] U-Net: Convolutional Networks for Biomedical Image Segmentation

[3] Pyramid Scene Parsing Network

[4] Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation

Related Skills

View on GitHub
GitHub Stars273
CategoryDevelopment
Updated1mo ago
Forks85

Languages

Python

Security Score

95/100

Audited on Feb 11, 2026

No findings