The Zoomable Image File Format

ZIF, the Zoomable Image File format, alternatively also known as the Zoomify Image File format, is an open-source, web-friendly, multi-resolution, pyramidal tiled file format, based on TIFF, designed to enable interactive panning and zooming of extremely large images, especially over the World Wide Web and other Internet services.

Essentially, ZIF is a subspecification of BigTIFF, departing substantially from the TIFF 6.0 Baseline and TIFF 6.0 Part 2: TIFF Extensions specifications, adding support for very large images and web browser image codecs, to enable serverless delivery of images to modern web browsers and other network client applications, while still being interoperable with the popular libTIFF imaging library.

The ZIF file structure is such that it does not require an image server to deliver image views, although an image server can provide increased performance, cacheing, security, annotations, static views, dynamic transcoding, quality/bandwidth control, image adjustments, and many other features. Basic functionality requires only a web server capable of supporting byte serving via IETF RFC 7233 Range Requests, and a small JavaScript library.

The format was conceived and prototyped in 2012 by Objective Pathology Services Ltd, and is maintained and supported in conjunction with Zoomify Inc, who provided initial development and usability testing. ZIF is a modern standards-based reworking of a concept initially introduced by Zoomify in 2000 as the PFF file format.

ZIF is organized into two functional levels: Baseline and Advanced. Baseline is intended for easy implementation and wide compatibility, while Advanced takes inspiration from the more comprehensive TIFF Extensions subset to allow SubIFDs, simultaneous zoomable, focusable, and time-series data, and more advanced codecs. All forms of ZIF can be read and written with libTIFF v.4.0 and later, and other libraries supporting BigTIFF.

Why is there no “standard” TIFF 6.0 support in ZIF?

Since all zoomable images require tiles, many zoomable images are larger than the 64K ✕ 64K pixels, 4 GB TIFF 6.0 limits, and since for browser interoperability either JPEG or PNG codecs unsupported by baseline TIFF are required, even with a 32-bit TIFF 6.0 Part 2 zooming implementation almost no existing software could read or write most images anyway; so to keep ZIF implementations simple and future-focused, only BigTIFF containers are permitted.

Common Specifications, Baseline and Advanced

Zoomable Z-stack
/ Focal
Time
Series
Baseline Advanced
-

Baseline Specification

Baseline Examples

MISSING IMAGE - please update your browser

Advanced Specification

Typical Codings

3-channel 8-bit lossy “normal” single zoomable image

Code as Baseline, JPEG tiles (3-channel interleaved), using chain of top-level IFDs as decreasing resolution levels (pixels must be halving, rounded up)

3-channel 8-bit lossless “normal” single zoomable image

Code as Baseline, 24-bit PNG tiles (3-channel interleaved), using chain of top-level IFDs as decreasing resolution levels (pixels must be halving, rounded up)

3-channel 8-bit JPEG 2000 tiled single image

Note that this is not a true JPEG 2000 file Recommended: code as Advanced, JPEG 2000 tiles (3-channel interleaved), first top-level IFD contains base image, Sub-IFDs contain decreasing resolution levels Not recommended: code as Advanced, JPEG 2000 tiles (3-channel interleaved), using chain of top-level IFDs as decreasing resolution levels (pixels must be halving, rounded up)

Recommendations

Metadata

Any TIFF-compatible metadata tags are fine with ZIF. Some examples:

ZIF will incorporate the Metadata Working Group Specifications.

TIFF Tag Make Registry

TIFF_Tag Make, 27110 (010F16), if present, contains the make/manufacturer of scanner, software, or device used. Registered values are:

Value Make
0 (unknown)
1 Objective Pathology Services
2 Zoomify
3 Huron Digital Pathology

TIFF Tag Model Registry

TIFF_Tag Model, 27210 (011016), if present, contains the model/type of scanner or device used. Registered values are:

Value Make Model
0 (unknown or software-generated) (none)
1 - 15 Objective Pathology Services (reserved)
16 - 31 Huron Digital Pathology (reserved)

TIFF Tag Software Registry

TIFF_Tag Software, 30510 (013116), if present, contains the output software used. Registered values are:

Value Make Model
0 (unknown or hardware-generated) (none)
1 - 15 Objective Pathology Services (reserved)
16 - 23 Zoomify (reserved)
24 - 39 Huron Digital Pathology (reserved)

BigTIFF Resources

C/C++