brain extraction in python
Project description
brainextractor
A re-implementation of FSL's Brain Extraction Tool in Python.
Follows the algorithm as described in:
Smith SM. Fast robust automated brain extraction. Hum Brain Mapp.
2002 Nov;17(3):143-55. doi: 10.1002/hbm.10062. PMID: 12391568; PMCID: PMC6871816.
This code was originally made for a course project.
https://user-images.githubusercontent.com/3641187/190677589-be019bc6-60e4-4e96-8c71-266285ab0755.mp4
Install
To install, use pip
to install this repo:
# install from pypi
pip install brainextractor
# install repo with pip
pip install git+https://github.com/vanandrew/brainextractor@main
# install from local copy
pip install /path/to/local/repo
NOTE: It is recommended to use
brainextractor
on Python 3.7 and above.
Usage
To extract a brain mask from an image, you can call:
# basic usage
brainextractor [input_image] [output_image]
# example
brainextractor /path/to/test_image.nii.gz /path/to/some_output_image.nii.gz
You can adjust the fractional intensity with the -f
flag:
# with custom set threshold
brainextractor [input_image] [output_image] -f [threshold]
# example
brainextractor /path/to/test_image.nii.gz /path/to/some_output_image.nii.gz -f 0.4
To view the deformation process (as in the video above), you can use the -w
flag to
write the surfaces to a file. Then use brainextractor_render
to view them:
# writes surfaces to file
brainextractor [input_image] [output_image] -w [surfaces_file]
# load surfaces and render
brainextractor_render [surfaces_file]
# example
brainextractor /path/to/test_image.nii.gz /path/to/some_output_image.nii.gz -w /path/to/surface_file.surfaces
brainextractor_render /path/to/surface_file.surfaces
If you need an explanation of the options at any time, simply run the --help
flag:
brainextractor --help
If you need to call Brainextractor directly from python:
# import the nibabel library so we can read in a nifti image
import nibabel as nib
# import the BrainExtractor class
from brainextractor import BrainExtractor
# read in the image file first
input_img = nib.load("/content/MNI.nii.gz")
# create a BrainExtractor object using the input_img as input
# we just use the default arguments here, but look at the
# BrainExtractor class in the code for the full argument list
bet = BrainExtractor(img=input_img)
# run the brain extraction
# this will by default run for 1000 iterations
# I recommend looking at the run method to see how it works
bet.run()
# save the computed mask out to file
bet.save_mask("/content/MNI_mask.nii.gz")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file brainextractor-0.2.2.tar.gz
.
File metadata
- Download URL: brainextractor-0.2.2.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d9a627ee28281373aec7c8d38f102c15963f5d8d2e8980590e6ca563fde1b56 |
|
MD5 | 2eebc531169ccb86389ca7b69cc29174 |
|
BLAKE2b-256 | 2963eb0e4e41406480981ae657fff94956b3c1c6c0c79ba2953069f88ea5e4c2 |
File details
Details for the file brainextractor-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: brainextractor-0.2.2-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4be1d3a093c28e92a5d2262f60847a1845e949e046dd543ba8aed01aed5bb7b |
|
MD5 | 9658eed4e6c6f9eb126de73cb404dc4d |
|
BLAKE2b-256 | 5b734fceb923d4fc86b00cc5f20b06c7d1e6869a7e8242788af52378a1b5a55a |