Giter Site home page Giter Site logo

zeigar / tsan-brain-age-estimation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from milan-buaa/tsan-brain-age-estimation

0.0 1.0 0.0 167.07 MB

TSAN: Two-Stage-Age-Net, for brain age estimation from T1-weighted MRI data.

License: MIT License

Python 90.10% Shell 9.90%

tsan-brain-age-estimation's Introduction

Brain Age Estimation From MRI Using Cascade Networks with Ranking Loss

Pytorch codes for the paper "Brain Age Estimation From MRI Using Cascade Networks with Ranking Loss", IEEE transactions on Medical Imaging, 2021

Abstract

In this paper, a novel 3D convolutional network, called as two-stage-age-network (TSAN), is proposed to estimate brain age from T1-weighted MRI data. Compared with existing methods, TSAN has the following improvements:

  • TSAN uses a two-stage cascade network architecture, where the first-stage network estimates a rough brain age, then the second-stage network estimates the brain age more accurately from the discretized brain age by the first stage network.
  • To our knowledge, TSAN is the first work to apply novel ranking losses in brain age estimation, together with the traditional mean square error (MSE) loss.
  • Third, densely connected paths are used to combine feature maps with different scales.

TSAN

Using the code:

  • Clone this repository:

git clone https://github.com/Milan-BUAA/TSAN-brain-age-estimation.git
cd TSAN-brain-age-estimation
  • To install all the dependencies using pip:

The code is stable using Python 3.8, to use it you will need:

  • Python >= 3.8
  • Pytorch >= 1.7
  • numpy
  • nibabel
  • tensorboardX
  • sklearn
  • pandas

Install dependencies with

pip install -r requirements.txt
  • Training Command:

Change the model_name, data_path and other settings to train them

# For training the frist stage brain age estimation network
bash script/bash_train_first_stage.sh
# For training the second stage brain age estimation network
# with the fisrt stage network pretrained model
bash script/bash_train_second_stage.sh
  • Testing Command:

Change the model_name, data_path and other settings to inference them

# For testing the frist stage brain age estimation network
bash script/bash_test_first_stage.sh
# For testing the second stage brain age estimation network with 
# the first stage network
bash script/bash_test_second_stage.sh

Pre-trained Model

Download the pretrained first-stage ScaleDense model and the second-stage model: Beihang Cloud

Datasets

Please check related websites for getting the datasets used in this paper:

ADNI

OASIS

PAC 2019 website archive

Data Structure

Prepare the dataset in the following format for easy use of the code.

  • Train, validation and test should contain completely unduplicated T1-weighted image samples.
  • The Excel file should include image file names, chronological age and sex labels ('0' for female and '1' for male) for all samples from the three datasets.
Train Folder-----
          sub-0001.nii.gz
          sub-0002.nii.gz
          .......

Validation Folder-----
          sub-0003.nii.gz
          sub-0004.nii.gz
          .......
Test Folder-----
          sub-0005.nii.gz
          sub-0006.nii.gz
          .......
          
Dataset.xls 

sub-0001.nii.gz     60     1
sub-0002.nii.gz     74     0
.......

Reference

If this repository is useful for your work, please cite the references:

[1] Jian Cheng, Ziyang Liu, Hao Guan, Zhenzhou Wu, Haogang Zhu, Jiyang Jiang, Wei Wen, Dacheng Tao, Tao Liu, "Brain Age Estimation From MRI Using Cascade Networks with Ranking Loss." IEEE transactions on Medical Imaging, 2021. [arxiv]

[2] Ziyang Liu, Jian Cheng, Haogang Zhu, Jicong Zhang, and Tao Liu, "Brain Age Estimation from MRI Using a Two-Stage Cascade Network with Ranking Loss." In International Conference on Medical Image Computing and Computer-Assisted Intervention, pp. 198-207. Springer, Cham, 2020.

tsan-brain-age-estimation's People

Contributors

liuziyang1106 avatar jiancheng avatar

Watchers

James Cloos avatar

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.