阅读卡尔蔡司(R)图像(CZI)文件

czifile的Python项目详细描述


czifile是一个python库,用于读取卡尔蔡司图像(czi)文件 蔡司显微术有限公司Zen(R)软件的文件格式CZI文件 包含来自显微镜实验的多维图像和元数据。

Author:Christoph Gohlke
Organization:Laboratory for Fluorescence Dynamics. University of California, Irvine
License:3-clause BSD
Version:2019.7.2

要求

修订版

2019.7.2
需要tifffile 2019.7.2.
2019.6.18
添加包主函数以查看czi文件。 修正bgr到rgb的转换。 修复Python2上的czi2tif转换。
2019.5.22
修复当czi元数据包含非ascii字符时的czi2tif转换。 使用imagecodec_lite作为imagecodec的后备。 使czifile.metadata成为函数(中断)。 使scipy成为可选依赖项;在ndimage上后退或在zoom()上失败。
2019.1.26
修复czi2tif控制台脚本。 更新版权年。
2018年10月18日
将zisraw包重命名为czifile。
2018.8.29
将czifile.py和相关模块移到zisraw包中。 将用法示例移到主docstring。 需要Imagecodec软件包来解码JPEGXRFILE、JPG文件和LZW。
2018.6.18
将czi元数据保存到czi2tif中的tiff描述。 使用max_workers=1修复attributeerror。 生成segment.sid和dimensionEntryDV1.dimension str类型。 将元数据返回为XML Unicode字符串或dict,而不是etree。 将时间戳、焦点位置、事件和lut作为元组或ndarray返回
2017.7.21
在czifile.asarray中使用多线程来解码和复制段数据。 始终将bgr转换为rgb。删除bgr2rgb选项。 直接从字节数组解码JPEGXR。
2017.7.13
添加将czi文件转换为内存可映射tiff文件的函数。
2017.7.11
将“out”参数添加到czifile.asarray。 从czifile.asarray(breaking)中删除memmap选项。 将样条曲线插值顺序更改为0(断开)。 使轴返回字符串。 需要tifffile 2017.7.11。
2014.10.10
将数据读入内存映射数组(可选)。
2013.12.4
通过czifle扩展模块解码jpegxrfile和jpgfile。 尝试重建平铺的马赛克图像。
2013年11月20日
初始版本。

注释

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

不推荐使用Python2.7和3.4。

“蔡司”和“卡尔蔡司”是卡尔蔡司公司的注册商标。

Zisraw文件格式设计规范[1]是保密的,并且 许可协议不允许将数据写入CZI文件。

仅实现了2016规范的一个子集。明确地, 不支持多文件图像、图像金字塔和地形图像。

仅在Windows上使用几个示例文件进行测试。

czifile依赖于imagecodecs 用于解码LZW、JPEG和JPEG XR压缩图像的包。或者, imagecodecs_lite包 可用于解码LZW压缩图像。

用于读取CZI文件的其他库(所有GPL许可):

参考文献

  1. ZISRAW(CZI)文件格式设计规范版本1.2.2。 czi 07-2016/czi-doc zen 2.3/ds_zisraw-fileformat.pdf(保密)。 文件可在 https://www.zeiss.com/microscopy/us/products/microscope-software/zen/czi.html

示例

以numpy数组的形式从czi文件读取图像数据:

>>> image = imread('test.czi')
>>> image.shape
(3, 3, 3, 250, 200, 3)
>>> image[0, 0, 0, 0, 0]
array([10, 10, 10], dtype=uint8)

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

推荐PyPI第三方库


热门话题
java如何使用MVC设计模式观察嵌套对象   java将多个客户端连接到服务器   合并Java Web应用程序   Spring Security中未捕获java AuthenticationSuccessEvent   java Firebase JSON到Arraylist内部的Arraylist,存在对象问题   在Java15的sealedclasses特性中,final类和非密封类之间有什么区别?   java我可以使用数组。copyOf制作二维数组的防御副本?   java球不会在屏幕上移动   Java类如何在同一个文件中包含两个类?   java使用“Character.isWhiteSpace”删除所有空白   java阻止在RealmList中保存时创建领域对象   如何仅在ConnectionFactory上使用Java JMS身份验证   spring可以强制java对象在运行时实现接口吗?   socket无法在JAVA中使用TCP启用双工模式通信