• This repository has been archived on 28/Jan/2023
  • Stars
    star
    162
  • Rank 232,284 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 7 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Preprocessing pipeline on Brain MR Images through FSL and ANTs, including registration, skull-stripping, bias field correction, enhancement and segmentation.

Preprocessing on Brain MRI Sequence

This is a pipeline to do preprocessing on brain MR images of ADNI dataset
by using FMRIB Software Library (FSL) and Advanced Normalization Tools (ANTs).

1. Install FSL & ANTs

Download and install FSL as instructions here.
Compile ANTs from source code in Linux and macOS, or in Windows 10.

2. Install Python Packages

All required libraries are listed as below:

  • tqdm
  • numpy
  • scipy
  • nipype
  • nibabel
  • matplotlib
  • sciKit-fuzzy (optional)
  • scikit-learn (optional)

3. Download Dataset

The dataset used in this repo is AD and NC screening images of ADNI1 and ADNI2.
See README.md in data.

Here is one sample of original image.

original image

4. Reorgnization Files

Switch the working directory to src. Run reorgnize.py, which merge ADNI1 and ADNI2 into one folder.

python reorgnize.py

5. Registration

Run registraion.py to transform images into the coordinate system of template by FSL FLIRT.

python registraion.py

The output of the above image from this step looks like:

registration

6. Skull-Strpping

Run skull_stripping.py to remove skull from registrated images by FSL BET.

python skull_stripping.py

Output:

skull stripping

7. Bias Field Correction

Run bias_correction.py to remove bias-field signal from images by ANTs.

python bias_correction.py

Output:

bias field correction

8. Enhancement (optional)

Based on outputs from step 7, run enhancement.py to enhance images by histogram equalization.

python enahncement.py

9. Tissue Segmentation (optional)

Based on outputs from step 7, run segment.py to segment brain into GM, WM and CSF
by KMeans or Fuzzy-CMeans (you should change settings in script).

python segment.py

Or run fast_segment.py to do segmentation by FSL FAST.

python fast_segment.py

More Repositories

1

ImageRegistration

A demo that implement image registration by matching SIFT descriptors and appling RANSAC and affine transformation.
Python
155
star
2

GNN-Pytorch

GNN方法和模型的Pytorch实现。Pytorch implementation of GNN.
Python
50
star
3

RL-Python-Pytorch

《强化学习-原理与Python实现》的Pytorch实现。
Jupyter Notebook
41
star
4

ImageCrawler

Crawl images from baidu, bing, google according to keyword using browser.
Python
24
star
5

BTClassification

Brain tumor classification on structural MR images of BraTS dataset based on 3D Multi-Scale Convolutional Neural Network, which is a part of my master thesis project.
Python
21
star
6

CellDetection

A course project that detect cells in image by a simple full convolution neural network. The project is driven by TensorFlow.
Python
20
star
7

BioMassters

An algorithm that predicts yearly Aboveground Biomass for Finnish forests using satellite imagery.
Python
19
star
8

CTReconstruction

Matlab code for: 1. reconstructing CT image by applying back projection, filtered back projection and convolution back projection; 2. maximum intensity projection.
MATLAB
10
star
9

ADDetection

Alzheimer's Disease Detection from structural brain MR images of ADNI dataset by 3D Multi-Scale Convolutional Neural Network, which is a part of my master thesis project.
Python
8
star
10

MLAlgorithms

Python implementations of conventional Machine Learning Algorithms.
Python
4
star
11

Planet

Solution for Kaggle competition Planet: Understanding the Amazon from Space. (https://www.kaggle.com/c/planet-understanding-the-amazon-from-space)
Python
4
star
12

SegBrain

This is an implementation of a simple neural network to segment brain tissues in simulation volume provided by BrainWeb.
Python
2
star
13

MachineLearningCoursera

Some Python code for the lecture of Machine Learning in Coursera. Complete each assignment in Python.
Python
1
star
14

GoRosalind

Solutions of Bioinformatics Problems in Rosalind Using GoLang primarily.
Go
1
star
15

ECG-MLC

Multi-label classfication of 8-leads ECGs.
Python
1
star
16

Hackerrank_Python

Implementations of HackerRand problems, including 30 Days of Code, 10-days-of-statistics, Algorithm and Project Euler +.
Python
1
star
17

ReadWiki-ZH

Convert WIKI dumped XML (Chinese) to human readable documents in markdown and txt.
Python
1
star
18

AdversarialAttack

Attack models that are pretrained on ImageNet. (1) Attack single model or multiple models. (2) Apply white-box attacks or black-box attacks. (3) Apply non-targeted attacks or targeted attacks.
Python
1
star