TIFF 图像实操

在《TIFF 图像格式介绍》文章简要介绍了 TIFF 图像结构,本文用代码实操一下。
演示图片下载自:https://camelyon17.grand-challenge.org/Data/

演示图片

用 QuPath 打开图片,在左边属性可看到这个 H&E 图片是金字塔结构的,存储了不同分辨率的图像。
用 Python 也可以看到有多个 pages 每个 page 对应一个图像。

>>> import tifffile
>>> wsi = tifffile.TiffFile("test_001.tif")
>>> wsi
<tifffile.TiffFile 'test_001.tif'>
>>> pages = wsi.pages
>>> len(pages)
9

第一个 page 对应分辨率最高的图像,它是 tile 存储形式,可以查看到 tile 长宽都是 512.

>>> page0 = pages[0]
>>> page0.tilelength
512
>>> page0.tilewidth
512

使用 .tags 获取到图像 metadata 也即 IFD entry. 比如下面我们可以查看 tile 存储位置(offset),假如自己写读取代码,那么可以根据位置读取到 tile 数据。

>>> page0_tags = page0.tags
>>> page0_tags["ImageWidth"].value
86016
>>> page0_tags["ImageLength"].value
89600
>>> page0_tags["TileOffsets"].value[0:5]
(16, 3586416, 3596929, 7268478, 7279382)

比较一下不同分辨率图像大小。

>>> page1 = pages[1]
>>> print(page0.imagelength, page0.imagewidth)
89600 86016
>>> print(page1.imagelength, page1.imagewidth)
44800 43008
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容