使用Python进行具有OME元数据的N维生物成像数据I/O
项目描述
iohub
N维生物成像生成各种格式的数据和元数据,iohub旨在成为Biohub及其更广泛的成像社区中最常用格式的统一Python接口。
支持的格式
读取
- OME-Zarr (OME-NGFF v0.4)
- Micro-Manager TIFF序列、OME-TIFF (MMStack) 和 NDTiff 数据集
- 由Biohub显微镜生成的自定义数据格式
- 支持:Falcon (PTI)、Dorado (ClearControl)、Dragonfly (OpenCell OME-TIFF)、Mantis (NDTiff)
- 正在进行:DaXi
写入
- OME-Zarr
- 按目录层次结构组织的多页TIFF堆栈,类似于OME-NGFF(工作进行中)
快速入门
安装
使用pip安装iohub的预发布版本
pip install iohub
或安装最新的Git版本
git clone https://github.com/czbiohub-sf/iohub.git
pip install /path/to/iohub
有关安装的更多详细信息,请参阅贡献指南中的相关部分:安装开发环境。
命令行界面
检查iohub是否适用于数据集
iohub info /path/to/data/
CLI可以显示数据集的摘要,指向相关的Python调用,并将其他数据格式转换为最新的OME-Zarr。在终端中输入iohub
或iohub [command] --help
以查看完整的CLI帮助信息。
与OME-Zarr协同工作
加载和修改示例OME-Zarr数据集
import numpy as np
from iohub import open_ome_zarr
with open_ome_zarr(
"20200812-CardiomyocyteDifferentiation14-Cycle1.zarr",
mode="r",
layout="auto",
) as dataset:
dataset.print_tree() # prints the hierarchy of the zarr store
channel_names = dataset.channel_names
print(channel_names)
img_array = dataset[
"B/03/0/0"
] # lazy Zarr array for the raw image in the first position
raw_data = img_array.numpy() # loads a CZYX 4D array into RAM
print(raw_data.mean()) # does some analysis
with open_ome_zarr(
"max_intensity_projection.zarr",
mode="w-",
layout="hcs",
channel_names=channel_names,
) as dataset:
new_fov = dataset.create_position(
"B", "03", "0"
) # creates fov with the same path
new_fov["0"] = raw_data.max(axis=1).reshape(
(1, 1, 1, *raw_data.shape[2:])
) # max projection along Z axis and prepend dims to 5D
dataset.print_tree() # checks that new data has been written
读取Micro-Manager TIFF数据
读取包含TIFF数据集的目录
from iohub import read_micromanager
reader = read_micromanager("/path/to/data/")
print(reader.shape)
为什么选择iohub?
该项目受现有Python生物成像数据I/O库的启发,包括ome-zarr-py、tifffile和aicsimageio。它们支持显微镜中最广泛采用和/或最有前途的格式,如OME-Zarr和OME-TIFF。
iohub通过以下特性弥合了它们之间的差距
- 高效读取Micro-Manager/Pycro-Manager采集堆栈生成的各种基于TIFF的格式中的数据。
- 高效且可定制的将数据和元数据从TIFF转换为OME-Zarr。
- 以Pythonic和原子方式访问OME-Zarr数据,同时考虑并行化分析。
- 在写入时自动构建和更新OME-Zarr元数据,并在读取时与规范进行验证。
- 尽可能遵守最新的OME-NGFF规范(v0.4)。
项目详情
下载文件
下载适用于您平台的应用程序。如果您不确定选择哪个,请了解有关安装软件包的更多信息。
源代码分发
iohub-0.1.0.tar.gz (79.3 kB 查看哈希值)
构建分发
iohub-0.1.0-py3-none-any.whl (56.1 kB 查看哈希值)
关闭
iohub-0.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 253a9f47308a55576aa895cfdf71d10b76953963b4e9eae45c0336269b9f3901 |
|
MD5 | b08388a8f8b31fad1919e7c3606963a6 |
|
BLAKE2b-256 | 6f7062ab66cd99c0e71fb9ee73894e118e3815fbe20a6f01b1c59c8027430360 |
关闭
iohub-0.1.0-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7eea329c3b195c347c24339b5c24ad3936545d57193e15cc7c5b09baa04b777f |
|
MD5 | a815861e8ccf056557947301ffb31cf8 |
|
BLAKE2b-256 | c24998d91f496631cb7dffcb9ac25e6e70786e5779c462449b8aad9c74800e98 |