跳转到主要内容

Xibabel神经影像学接口

项目描述

Xibabel

Xibabel是一个用于处理神经影像数据格式的实验性软件包。

它在标准Nibabel软件包的基础上构建,但增加了以下扩展。

这些扩展允许代码如下

快速入门

以下是使用Xibabel的基本读取和切片操作。与使用Nibabel必须进行的更手动操作相比。

要运行此代码,请使用以下命令安装Xibabel:

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))

有关更多信息,请参阅Xibabel文档

功能

  • Xibabel图像是Xarrays。它们具有标签轴,默认标签为空间轴的ijk;时间是time。标签允许进行诸如选择时间切片等切片操作。
  • 标签允许对命名轴进行简洁且易于阅读的操作。请参阅glm_in_xibabel笔记本中的示例。
  • Xarrays具有可以附加到图像或图像轴的属性。我们可以从BIDS格式JSON文件中加载这些属性。这允许更好地传输元数据。
  • Xarrays具有Dask后端,因此计算可以延迟执行,并在您需要内存中的数据时执行。
  • Xarrays和Dask允许新的存储格式,包括以Zarr和HDF5 / netCDF的形式存储。
  • 您可以通过调整分块来优化磁盘格式以适应内存和CPU。我们正在努力为不同的处理步骤制定性能指标。
  • Xibabel 使用 fsspec 读取 NIfTI 和其他文件,允许您使用许多文件系统作为数据源,包括 HTTP、Amazon、Google Cloud 等。有关详细信息,请参阅 fsspec 文档,并参考上面的代码示例,该示例展示了如何使用 HTTP 作为后端存储。

状态

目前 Xibabel 处于开发模式。我们仍在进行 API 的实验。如果您有兴趣参与其中,我们非常愿意听取您的意见。请勿依赖此 alpha 版本中的任何特定功能,包括文件格式的兼容性;建议将输出保存为 BIDS/NIfTI 格式,我们对输入兼容性提供保证(例如 xib.save(ximg, 'out.nii.gz'))。

安装

从 Pip — 当前预发布版

pip install --pre xarray

从 Pip — 开发代码

pip install git+https://github.com/matthew-brett/xibabel@main

许可协议

我们将在 BSD 简化 2 条款许可证下发布 Xibabel(请参阅 LICENSE)。

致谢

这项工作完全由 Chan Zuckerberg 创新倡议资助的“加强脑成像社区和代码基础”开源软件项目资助,谨此致谢。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

xibabel-0.0.1rc1.tar.gz (26.5 kB 查看散列)

上传时间

支持者