Xibabel is an experimental package for working with neuroimaging data formats.
It builds on the standard Nibabel package, but adds the extensions listed below.
The extensions allow code like this:
Here is a basic read and slice operation with Xibabel. Compare to the more manual labor that you would have to do with Nibabel.
To run this code, install Xibabel with:
pip install --pre xibabel[optional]
# Basic read and slice with Xibabel
import xibabel as xib
import matplotlib.pyplot as plt
plt.rc('image', cmap='gray')
# We can load NIfTI images directly from web URLs.
# This is a 4D (functional image)
ximg = xib.load('https://s3.amazonaws.com/openneuro.org/ds000105/sub-1/func/sub-1_task-objectviewing_run-01_bold.nii.gz')
# Slicing can now use axis labels:
mean_img = ximg.mean('time')
# Notice that we haven't yet fetched the data. We do so only when we need
# it - for example, when plotting the image data:
plt.imshow(mean_img.sel(k=32))
See Xibabel documentation for more.
i
, j
and k
; time is
time
. The labels allow slicing operations such as selecting slices over
time.fsspec
for reading
NIfTI and other files, allowing you to use many filesystems as the source for
your data, including HTTP, Amazon, Google Cloud and others. See the fsspec
documentation for details, and the code above for an example using HTTP as
a backing store.Xibabel is in development mode at the moment. We are still experimenting with
the API. We'd love to hear from you if you are interested to help. Please do
not rely on any particular features in this alpha version, including
compatibility of file formats; prefer to save outputs as BIDS / NIfTI format,
for which we do guarantee input compatibility (e.g. xib.save(ximg, 'out.nii.gz')
).
From Pip — the current pre-release:
pip install --pre xarray
From Pip — the development code:
pip install git+https://github.com/matthew-brett/xibabel@main
We release Xibabel under a BSD simplified 2-clause license (see LICENSE
).
This work was entirely supported by Chan Zuckerberg Initiative Essential Open Source Software for Science grant "Strengthening community and code foundations for brain imaging", with thanks.