阅读奥林巴斯(R)图像文件(OIF和OIB)

oiffile的Python项目详细描述


oiffile是一个python库,用于从olympus image读取图像和元数据 格式化文件。oif是olympus fluoview(tm)的本地文件格式 共焦显微镜软件。

格式有两种变体:

  • oif(olympus图像文件)是一种包含主设置的多文件格式 文件(.oif)和与数据和设置文件(.tif, .bmp、.txt、.pyt、.roi和.lut)。
  • oib(olympus image binary)是一个复合文档文件,存储oif和 在单个文件中关联的文件。
Author:Christoph Gohlke
Organization:Laboratory for Fluorescence Dynamics. University of California, Irvine
Version:2019.1.1

修订版

2019.1.1
更新版权年。

注释

api还不稳定,可能会在不同的版本之间发生变化。

不推荐使用Python2.7和3.4。

没有可用的规范文件。

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

示例

以numpy数组的形式从oib文件中读取图像:

>>> 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'
>>> image[95, 216]
820

访问oib主文件中的信息:

>>> with OifFile('test.oib') as oib:
...     dataname = oib.mainfile['File Info']['DataName']
>>> dataname
'Cell 1 mitoEGFP.oib'

将oib文件内容提取到oif文件和相关数据目录:

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

从提取的oif文件中读取图像:

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

读取OLE复合文件并访问“oibinfo.txt”设置文件:

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在ArrayList中比较数字   java在Kotlin中使异步调用同步   让“Scala编程”junit示例在IntelliJ中工作的java问题   java Servlet侦听器未在ContextListener中设置属性   将Microsoft SQL Server数据库连接到我的Java项目   加载资源时出现java“需要注册工厂”异常   java如何使用POI检查excel中的重复记录?   java如何更改机器生成的代码   java如何确保重写的方法是同步的   用Spring编写Hibernate时的java XML奥秘   java管理mysql数据库中存储的用户权限   java如何运行。来自Javascript的jar方法   java我想在Web应用程序中进行身份验证&对桌面应用程序使用相同的凭据。我该怎么做?