Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

TIFF, Pyramid

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name TIFF, Pyramid
Description

TIFF is a tag-based file format for storing and interchanging raster images. A TIFF file can hold multiple images in a single file. The term "Pyramid TIFF" is used to describe a TIFF file that wraps a sequence of bitmaps that each represent the same image at increasingly coarse spatial resolutions. The individual images may be compressed or tiled. Compression is used when storage space savings are significant; tiling may yield more efficient delivery when most use involves zooming into image sections rather than viewing the whole. The term Pyramid TIFF or pyramid-encoded TIFF has been applied to different approaches, each based on valid internal TIFF structures, that have been used to support dynamic delivery of the underlying image at different spatial resolutions. Pyramid TIFF files created by different applications are not necessarily the same in structure. In particular, judging from analysis with JHOVE and the identify command in ImageMagick, Adobe's Photoshop and Image Magick generate files with different internal TIFF structures; in both cases, most software that can handle TIFFs appears to recognize the primary (full-size) TIFF without problem.

[Note: For convenience for the compilers of this resource, and to allow human readers to see the differences between the two forms of TIFF that may get called "Pyramid TIFF", we describe the two variants in a single document. In a format registry intended to support automated processes, they would need separate identification.]

Production phase Most often a middle-state format intended to support efficient dynamic delivery of final-state format images at different resolutions.
Relationship to other formats
    Subtype of TIFF_6, TIFF, Revision 6.0
    May contain Uncompressed image bitmap
    May contain Compressed JPEG image bitmap

Local use Explanation of format description terms

LC experience or existing holdings None.
LC preference See the Recommended Formats Statement for the Library of Congress format preferences for Still Image Works.

Sustainability factors Explanation of format description terms

Disclosure See TIFF_6
    Documentation No separate description of an internal representation of the images at multiple resolutions has been located for either the form of Pyramid TIFF created by Adobe or the form created by Image Magick. See TIFF_6 for documentation on the underlying TIFF 6.0 specification.
Adoption

Most image manipulation programs that can handle TIFFs can read the primary (full-size) image but some will ignore the smaller images. Adobe Photoshop (since version 6) can write (Save As) Pyramid TIFF files, but allows access only to the primary image.

The IIPImage server, designed to deliver zoomable images efficiently over the Internet describes the multiresolution formats it supports at https://iipimage.sourceforge.io/documentation/images. Images must be JPEG2000 or "tiled pyramidal" TIFFs. The description and the sample image provided suggest that support is for the form of pyramidal TIFF created by Image Magick. The page indicates that image processing applications GIMP and VIPS support the required image format and that the libtiff software library can also be used.

The eRez Imaging Server supported efficient delivery of images stored in the form of Pyramid TIFF files generated by Adobe. As of version 3.1 (released Spring 2005), eRez also supported pyramid TIFFs created by Image Magick. However, as of July 2012, the Yawah company that developed the eRez product no longer has its own website. The old yawah.com URL resolves to the Adobe URL for its Scene7 product. The User Guide for Scene7 indicates that all images are converted to the "PTIFF" format.

TIFF itself is very widely adopted as a master file format.

    Licensing and patents None known.
Transparency Depends on whether individual image bitstreams are compressed. Chaining of IFD and SubIFDs within a TIFF can be followed and understood given knowledge of the basic TIFF structure.
Self-documentation For capability from the TIFF specification itself, see TIFF_6. For a valuable extension, see TIFF_UNC_EXIF.
External dependencies None
Technical protection considerations None

Quality and functionality factors Explanation of format description terms

Still Image
Normal rendering Good support.
Clarity (high image resolution) See TIFF_6
Color maintenance See TIFF_6
Support for vector graphics, including graphic effects and typography See TIFF_6
Functionality beyond normal rendering Pyramid TIFFs are designed to support efficient zooming to different spatial resolutions, by storing the same image at multiple resolutions.

File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension tif
tiff
ptif
Image Magick uses .ptif for its Pyramid TIFFs. See TIFF_6.
Internet Media Type See related format.  See TIFF_6.
Magic numbers See related format.  See TIFF_6.

Notes Explanation of format description terms

General

Pyramid TIFFs are always considerably larger than the primary source image (assuming no compression). Both Adobe Photoshop and ImageMagick generate a sequence of sub-images using a factor of 50% by linear dimension (25% by area and hence image size). This results in a file that is at least 25% larger than the source file and approaches 33% larger rapidly as the number of sub-images increases.

==Notes on ImageMagick Pyramid encoded TIFF (referred to as PTIF and PTIFF)==

Sample output from ImageMagick identify command for a .ptif file created by the ImageMagick convert command:

$ identify 3c17082u.ptif
3c17082u.ptif[0] TIFF 4096x3295+0+0 PseudoClass 256c 8-bit 17.2m 0.270u 0:01
3c17082u.ptif[1] TIFF 2048x1647+0+0 PseudoClass 256c 8-bit 17.2m 0.070u 0:01
3c17082u.ptif[2] TIFF 1024x823+0+0 PseudoClass 256c 8-bit 17.2m 0.020u 0:01
3c17082u.ptif[3] TIFF 512x411+0+0 PseudoClass 256c 8-bit 17.2m 0.010u 0:01
3c17082u.ptif[4] TIFF 256x205+0+0 PseudoClass 256c 8-bit 17.2m 0.010u 0:01
3c17082u.ptif[5] TIFF 128x102+0+0 PseudoClass 256c 8-bit 17.2m 0.010u 0:01

When viewed with the TDump utility packaged with JHOVE, the File shows a flat structure with 6 IFDs. All 6 IFDs identify themselves via the 254 (NewSubFileType) tag with value 2 as "single page of multi-page image". See below:

00000000: "II" (little endian) 42 LONG @13496328  
...
13496328: IFD 1 with 20 entries
13496330: 254 (NewSubFileType) LONG 1 = 2
13496342: 256 (ImageWidth) SHORT 1 = 4096
13496354: 257 (ImageLength) SHORT 1 = 3295
...
13496570: NextIFDOffset LONG @16882942
...
16882942: IFD 2 with 20 entries
16882944: 254 (NewSubFileType) LONG 1 = 2
16882956: 256 (ImageWidth) SHORT 1 = 2048
16882968: 257 (ImageLength) SHORT 1 = 1647
...
16883184: NextIFDOffset LONG @17729364
...
17729364: IFD 3 with 20 entries
17729366: 254 (NewSubFileType) LONG 1 = 2
17729378: 256 (ImageWidth) SHORT 1 = 1024
17729390: 257 (ImageLength) SHORT 1 = 823

etc.

==Notes on Adobe Photoshop Pyramid TIFF==

Sample output from Image Magick identify command for a Pyramid TIFF file (with a main image and 3 reduced-size versions) as saved from Adobe Photoshop 7.0.1:

$identify Pyramid-Tiff-Sample.tif
Pyramid-Tiff-Sample.tif TIFF 6429x7500+0+0 PseudoClass 256c 8-bit 61.1m 0.810u 0:05

On the other hand, the TDump utility packaged with JHOVE identifies a main image IFD and a sequence of reduced image IFDs. The IFDs are identified as reduced-size images by having a 254 (NewSubFileType) tag with value 1, as shown below.  

00000000: "II" (little endian) 42
00000008: IFD 1 with 20 entries
00000010: 254 (NewSubFileType) LONG 1 = 0
00000022: 256 (ImageWidth) SHORT 1 = 6429
00000034: 257 (ImageLength) SHORT 1 = 7500
...
00000202: 330 (SubIFDs) IFD 1 = 48238676
...
48238676: IFD 2 with 13 entries
48238678: 254 (NewSubFileType) LONG 1 = 1
48238690: 256 (ImageWidth) SHORT 1 = 3215
48238702: 257 (ImageLength) SHORT 1 = 3750
...
48238834: NextIFDOffset LONG 60295104
60295104: IFD 3 with 13 entries
60295106: 254 (NewSubFileType) LONG 1 = 1
60295118: 256 (ImageWidth) SHORT 1 = 1608
60295130: 257 (ImageLength) SHORT 1 = 1875
...
60295262: NextIFDOffset LONG 63310282
63310282: IFD 4 with 13 entries
63310284: 254 (NewSubFileType) LONG 1 = 1
63310296: 256 (ImageWidth) SHORT 1 = 804
63310308: 257 (ImageLength) SHORT 1 = 938
...

Explanation of the Adobe 7 Pyramid TIFF structure from libTIFF mailing list: "All differently sized versions are part of the single main IFD, either the main image in that IFD, or the image in a SubIFD of that IFD. That should indicate to a reader that this is all really the same image. The NewSubfileType tag is used as an extra indication of this relation. The SubIFDs tag points only to the first SubIFD, and each SubIFD points to the next."

History LibTIFF mailing list discussion at https://www.asmail.be/msg0055062923.html indicates that earlier versions of Adobe software used a different approach when creating Pyramid TIFFs. The discussion reveals that pyramid TIFFs in the GIS world (as of late 2004) usually followed the older approach. The compilers of this resource are unable to determine whether the "older approach" corresponds to the ImageMagick approach. Comments welcome.

Format specifications Explanation of format description terms


Useful references

URLs


Last Updated: 04/26/2023