Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brainextractor-0.2.2.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

brainextractor-0.2.2-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

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

Hashes for brainextractor-0.2.2.tar.gz
Algorithm Hash digest
SHA256 0d9a627ee28281373aec7c8d38f102c15963f5d8d2e8980590e6ca563fde1b56
MD5 2eebc531169ccb86389ca7b69cc29174
BLAKE2b-256 2963eb0e4e41406480981ae657fff94956b3c1c6c0c79ba2953069f88ea5e4c2

See more details on using hashes here.

File details

Details for the file brainextractor-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for brainextractor-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e4be1d3a093c28e92a5d2262f60847a1845e949e046dd543ba8aed01aed5bb7b
MD5 9658eed4e6c6f9eb126de73cb404dc4d
BLAKE2b-256 5b734fceb923d4fc86b00cc5f20b06c7d1e6869a7e8242788af52378a1b5a55a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page