Python大型TIFF文件处理库tifffile

发布时间:2026/9/13 21:28:14

Python大型TIFF文件处理库tifffile 文章目录简介与测试准备基础使用文件来源和元数据简介与测试准备tifffile是专门用于处理科学TIFF图像的Python库。TIFFTagged Image File Format严格来说并不是一个单一的图像格式而是基于标签的数据容器这种灵活性使之成为存储科学数据的基本格式。标准TIFF最大只能支持到4GB大小BigTIFF则放开了这种限制理论上最高支持18EB的文件。tifffile可以完美支持BigTIFF并且支持内存映射从而在直接读取数百G的TIFF文件后无需将其载入内存也可以像操作Numpy数组一样操作数据。pip install tifffile-i https://pypi.tuna.tsinghua.edu.cn/simple为了展示tifffile的威力可以在OME-TIFF sample data下载一张内容丰富的Tiff文件。这里下载Leica-2.ome.tiff1.2G大小5个通道一般的看图软件是打不开的。基础使用Leica-2.ome.tiff是一个显微镜图像文件为bigtiff格式尺寸为39168 × 26048 × 1 × 3 × 1 39168\times26048\times1\times3\times139168×26048×1×3×1内有5个图像。在tifffile中可直接用imread将tiff图像读取为Numpy数组但考虑到Leica-2.ome.tiff并不是个简单的图像更加稳妥的方案是直接根据路径创建TiffFile。fromtifffileimportTiffFile,imread,imwrite pathLeica-2.ome.tifftifTiffFile(path)tif.series[4].shape# (3, 26048, 39168)im0tif.series[0].asarray()imwrite(im0.tiff,im0)im0_1imread(im0.tiff)图像如下这个类似于封面图像了但保存之后也有20多M。文件来源和元数据TiffFile类中有很多判定属性用于标记当前TIFF文件的特征和来源对于Leica-2.ome.tiff而言这些标记如下tif.is_bigtiff# True 是BigTIFF格式tif.is_shaped# False 不包含 tifffile 自定义的 shaped 元数据tif.is_appendable# False 不允许安全地追加新的图像页面。tif.is_uniform# False 文件中的页面Pages/IFDs是否结构不统一tif.is_ome# True 是OME-TIFF (Open Microscopy Environment) 格式tif.is_lsm# False 不是蔡司 LSM (Laser Scanning Microscope) 格式tif.is_mdgel# False 不是MD Gel 格式tif.is_micromanager# False 不是由 Micro-Manager 软件生成tif.is_mmstack# False 不是Micro-Manager 堆栈格式tif.is_ndpi# False 不是Hamamatsu NDPI 格式tif.is_ndtiff# False 不是 NDTiff (N-dimensional TIFF) 格式tif.is_philips# False 不是Philips DP (Digital Pathology) 格式tif.is_scanimage# False 不是由 ScanImage 软件生成tif.is_sis# False 不是Olympus SIS (Soft Imaging System) 格式tif.is_vista# False 不是ISS Vista 格式从这些判据可知TIFF是一个非常驳杂的数据格式内部并不同意正因如此TiffFile类中有很多metadata结尾的类成员分别装载这些类型各异的元数据元数据格式来源备注ome_metadataXMLOME-TIFF包含最完整、最标准化的 5D 图像物理尺寸、通道信息和仪器参数。lsm_metadata字典蔡司 LSM 激光共聚焦显微镜包含激光线、针孔大小、探测器增益等。fluoview_metadata字典奥林巴斯 FluoView 共聚焦显微镜sis_metadata字典奥林巴斯 SIS (Soft Imaging System) 软件scn_metadataXML徕卡 SCN 数字病理全切片扫描philips_metadataXML飞利浦数字病理扫描仪indica_metadataXMLIndica Labs HALO 数字病理分析软件micromanager_metadata字典Micro-Manager 开源显微镜控制软件的非 TIFF 元数据包含相机属性、时间间隔等。scanimage_metadata字典ScanImage双光子/多光子显微镜主流采集软件包含帧率、ROI、Pockels cell 电压等。stk_metadata字典MetaMorph / Universal Imaging 的 STK 格式元数据包含 UIC 标签信息。metaseries_metadata字典MetaMorph 软件的 Metamorph 系列文件mdgel_metadata字典MD Gel 凝胶电泳成像系统包含泳道、分子量标记等生物学信息。geotiff_metadata字典GeoTIFF文件包含地图投影、坐标系 (EPSG 代码)、像素物理分辨率 (GSD)。gdal_metadataXMLGDAL库通用地理空间元数据通常包含更复杂的波段统计信息或自定义地理标签。gdal_structural_metadata字典GDAL 结构化元数据指非 TIFF 标签内的数据例如来自侧车文件 (sidecar files) 或特定结构的信息。astrotiff_metadata字典AstroTIFF 天文图像包含 WCS (世界坐标系统) 信息用于将像素映射到赤经/赤纬。imagej_metadata字典ImageJ / Fiji 软件包含校准条 (Calibration bar)、ROI (感兴趣区域) 坐标、宏命令、显示范围等。nih_metadata字典NIH Image 软件这是 ImageJ 在 Mac 经典时代的前身用于兼容极老的生物图像。shaped_metadata字典tifffile当你用 tifffile.imwrite() 保存多维数组时它会把数组的 shape、dtype 和 axes 写成 JSON 存在这里确保下次读取时能 100% 完美还原 N 维结构。fei_metadata字典FEI / Thermo Fisher 电子显微镜 (SEM/TEM)包含加速电压、束流、放大倍率。sem_metadata字典通用扫描电子显微镜 (SEM) 元数据通常来自 CZ_SEM 标签。tvips_metadata字典TVIPS (EM-MENU) 电子显微镜相机eer_metadata字典EER (Electron Event Representation)用于冷冻电镜 (Cryo-EM) 直接电子探测器的原始事件帧数据。andor_metadata字典Andor 科学相机 (EMCCD/sCMOS)包含制冷温度、读出速度、增益。nuvu_metadata字典Nuvu Caméras (超低噪声 EMCCD)pilatus_metadata字典Dectris PILATUS X射线探测器常用于同步辐射/X射线衍射epics_metadata字典EPICS (实验物理和工业控制系统)常用于大科学装置如散裂中子源、同步辐射的 areaDetector 系统。avs_metadata字典Argos AVS 科学相机/系统streak_metadata字典Hamamatsu 条纹相机 (Streak camera用于超快光学/飞秒级发光动力学) 。
延伸阅读

更多相关文章

2026/9/13 21:23:11

CSP第一轮完善程序题破解指南:从变量档案到三步解题流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 21:23:11

高斯分布:机器学习中不可或缺的概率基础与工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 21:23:11

苹果成熟度检测:YOLOv11多光谱建模与农业AI落地实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 22:18:18

大白话说Java设计模式-43-访问者模式(源码剖析篇)

📌 大厂规范:Java项目工具类 — 01_字符串类型转换工具类(Java企业级代码) 大白话说Java设计模式-43-访问者模式(源码剖析篇):JDK / Spring 中的访问者实现 📌 一句话本质&#xff1…

2026/9/13 22:18:18

SAP MM采购订单全流程解析:从创建、定价到收货与增强

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 22:18:18

C++多线程深度指南:线程创建、同步原语与内存模型解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 22:18:18

ThinkPHP框架下协同过滤算法在动漫推荐系统的实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/13 11:18:28

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码