Skip to content
Developing Brain Atlas through Deep Learning
Jupyter Notebook Python
Branch: master
Clone or download

Developing Brain Atlas through Deep Learning

SeBRe (Segmenting Brain Regions) is a high-throughput Mask R-CNN [1]-based toolbox to generate brain atlas through deep learning.

Iqbal, A., Khan, R. and Karayannis, T., 2019. Developing a brain atlas through deep learning. Nature Machine Intelligence, 1(6), p.277.

Iqbal, Asim, Romesa Khan, and Theofanis Karayannis. "Developing Brain Atlas through Deep Learning." arXiv preprint arXiv:1807.03440 (2018).


Clone the SeBRe repository by running the following command in your terminal window:

git clone

Additionally, download the (.zip) files by visiting the following link:

You would need, and to run the code in your machine. If you'd like to use the mouse and human brain atlas datasets used in our paper then also download and unzip Once you've downloaded your files then unzip them in your folder by running the following commands:


Following are the Python/library versions on which the code is tested to work fine:

  • Python (3.5.2)
  • Tensorflow (1.6.0)
  • Keras (2.1.6)
  • skimage (0.13.0)
  • Numpy (1.13.3) In case of any trouble, please feel free to write your query (

SeBRe demo:

The block diagram of our system is demonstrated below:

alt text

Run the notebook SeBRe_FINAL.ipynb to reproduce the results in SeBRe's paper. Make sure to install the necessary libraries in your machine before running the code. A step-by-step explanation of feature processing in SeBRe is provided in SeBRe_feature_processing.ipynb notebook.

alt text alt text alt text

To train SeBRe on your (custom) dataset:

1. Collect images of brain regions (or sub-regions) and place each of them in a separate folder with the following naming convention e.g. section_img_0.jpg, section_img_1.jpg, ...

2. Draw ground-truth (binary) masks on Regions of Interest (ROIs) e.g. cortex, hippocampus, etc. using a scalar vector graphics (SVG) software such as Boxy SVG [2], RectLabel [3], Inkscape [4], etc. and assign a unique color code to each ROI. In the figure below, mouse brain section is shown before (a) and after (d) annotation by human expert. A zoomed-in examples of cortex (b) and hindbrain (c) are shown to precisely match the boundaries of masks with the corresponding ROIs. alt text

3. Run the notebook custom_dataset_create.ipynb to generate the binary (black and white) masks to train SeBRe deep neural network (DNN). The notebook will generate the file names in SeBRe-readable format, place them in the brain region corresponding folders e.g. section_masks_0/section_masks_0_m_1.png, sections_masks_0_m_2.png, ...

alt text

4. Modify and run the notebook SeBRe_training.ipynb to train the SeBRe DNN on your (custom) dataset.

5. Modify and run the notebook SeBRe_FINAL.ipynb to test the SeBRe DNN on your (custom) dataset.






You can’t perform that action at this time.