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.3.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file brainextractor-0.3.0.tar.gz.

File metadata

  • Download URL: brainextractor-0.3.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for brainextractor-0.3.0.tar.gz
Algorithm Hash digest
SHA256 27788c1d6a86107eb8ca82b9e5276881f41168afbd66d2e3d7364793b1749062
MD5 538e96e16cace199cbec8845410b9c38
BLAKE2b-256 24bb466eed0ce8186a08774619d0d8a64e1d354f2a8d6caad2c15180c440cfe7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: brainextractor-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for brainextractor-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 abc51a8a42a0ab02688b3019e7bb40f6cb83cfdce0a9defba37db58762f80e3c
MD5 6366f6c7fdd92abae29b783ee6a7fc0a
BLAKE2b-256 7da10622569f14c50a9b24903400ad6fb02a974d0748fbf74d502c76211373ec

See more details on using hashes here.

Supported by

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