阅读奥林巴斯(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'