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。它们具有标签轴,默认标签为空间轴的
i
、j
和k
;时间是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 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2fd23b735dd599c92f210c686a794194027e1b46681db235f019f407fb7ff875 |
|
MD5 | a1102ef1ac2051aa7907b4834bd35b80 |
|
BLAKE2b-256 | 08cefdfc6e65dc446bc9fe046dfe72afcf98473827e31e68bfe8e375ed7428ff |