阅读奥林巴斯(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第三方库


热门话题
使用jaxb2annotateplugin和XJC工具的java自定义注释   java组织。xeustechnologies。jcl无法加载WstxInputFactory类   java JUnit在格式化字符串上比较失败   java Bukkit配置部分getKeys   如何关闭Java流?   java Struts2正则表达式配置   链式事务注释的java奇怪行为   java在两个JButton之间使用变量   java签署APK时内容会发生什么变化?   java LWJGL:Slick:3D世界中的绘图字体   如何分解Java数组?   在Java MySql中处理多个过滤器   java如何在Firebase数据库中跳过初始OnChildaded事件触发   java如何在PreviewView中使用CameraX?   在子类#中重写父类后访问父类原始方法的java已解决   java找不到类型的属性   游戏框架游戏!框架+Java