跳转到主要内容

读取Olympus图像文件(OIF和OIB)

项目描述

Oiffile是一个Python库,用于从Olympus图像格式文件中读取图像和元数据。OIF是Olympus FluoView(tm)软件共聚焦显微镜的本地文件格式。

该格式有两种变体

  • OIF(Olympus图像文件)是一个多文件格式,包括主设置文件(.oif)和相关数据设置文件(.tif、.bmp、.txt、.pty、.roi和.lut)的关联目录。

  • OIB(Olympus图像二进制文件)是一个复合文档文件,将OIF和相关文件存储在单个文件中。

作者:

Christoph Gohlke

许可证:

BSD 3-Clause

版本:

2024.5.24

快速入门

Python包索引安装oiffile包及其所有依赖项

python -m pip install -U "oiffile[all]"

查看存储在OIF或OIB文件中的图像和元数据

python -m oiffile file.oif

请参阅示例了解使用编程接口的方法。

源代码和支持可在GitHub上获得。

要求

此修订版已测试以下要求和依赖项(其他版本可能也适用)

修订

2024.5.24

  • 支持NumPy 2。

  • 修复GitHub上docstring示例未正确渲染的问题。

2023.8.30

  • 修复代码风格检查问题。

  • 添加 py.typed 标记。

  • 停止支持 Python 3.8 和 numpy < 1.22 (NEP29)。

2022.9.29

  • 切换到 Google 样式文档字符串。

2022.2.2

  • 添加类型提示。

  • 添加主函数。

  • 添加 FileSystemAbc 抽象基类。

  • 移除 OifFile.tiffs (破坏性更改)。

  • 停止支持 Python 3.7 和 numpy < 1.19 (NEP29)。

2021.6.6

  • 修复未关闭文件警告。

2020.9.18

  • 移除对 Python 3.6 的支持 (NEP 29)。

  • 支持 os.PathLike 文件名。

  • 修复未关闭文件。

2020.1.18

  • 修复缩进错误。

2020.1.1

  • 支持多个图像系列。

  • 从设置文件解析形状和 dtype。

  • 停止支持 Python 2.7 和 3.5。

  • 更新版权信息。

注意

没有可用的规范文档。

仅在 Olympus FV1000 硬件生成的文件上进行测试。

示例

从 OIB 文件中以 NumPy 数组的形式读取图像

>>> image = imread('test.oib')
>>> image.shape
(3, 256, 256)
>>> image[:, 95, 216]
array([820,  50, 436], dtype=uint16)

从 OIB 文件中的单个 TIFF 文件读取图像

>>> with OifFile('test.oib') as oib:
...     filename = natural_sorted(oib.glob('*.tif'))[0]
...     image = oib.asarray(filename)
...
>>> filename
'Storage00001/s_C001.tif'
>>> print(image[95, 216])
820

访问元数据和 OIB 主文件

>>> with OifFile('test.oib') as oib:
...     oib.axes
...     oib.shape
...     oib.dtype
...     dataname = oib.mainfile['File Info']['DataName']
...
'CYX'
(3, 256, 256)
dtype('uint16')
>>> dataname
'Cell 1 mitoEGFP.oib'

将 OIB 文件内容提取到 OIF 文件和相关数据目录中

>>> import tempfile
>>> tempdir = tempfile.mkdtemp()
>>> oib2oif('test.oib', location=tempdir)
Saving ... done.

从提取的 OIF 文件中读取图像

>>> image = imread(f'{tempdir}/{dataname[:-4]}.oif')
>>> image[:, 95, 216]
array([820,  50, 436], dtype=uint16)

读取 OLE 复合文件并访问 'OibInfo.txt' 设置文件

>>> with CompoundFile('test.oib') as com:
...     info = com.open_file('OibInfo.txt')
...     len(com.files())
...
14
>>> info = SettingsFile(info, 'OibInfo.txt')
>>> info['OibSaveInfo']['Version']
'2.0.0.0'

项目详情


下载文件

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

源分布

oiffile-2024.5.24.tar.gz (167.6 kB 查看哈希)

上传时间

构建分布

oiffile-2024.5.24-py3-none-any.whl (14.9 kB 查看哈希)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面