TIFF and LibTiff Mail List Archive


2002.03.05 14:53 "Photoshop Alpha Channel", by Phil Hulme
2002.03.05 17:32 "Re: Photoshop Alpha Channel", by Andreas R. Kleinert
2002.03.05 20:58 "Re: Photoshop Alpha Channel", by Chris Cox
2002.03.06 00:46 "Re: Photoshop Alpha Channel", by Peter Montgomery
2002.03.06 01:36 "Re: Photoshop Alpha Channel", by Chris Cox
2002.03.06 07:36 "Re: Photoshop Alpha Channel", by Peter Montgomery
2002.03.06 08:15 "Re: Photoshop Alpha Channel", by Chris Cox
2002.03.06 23:32 "Re: Photoshop Alpha Channel", by Daniel McCoy
2002.03.07 18:58 "Re: Photoshop Alpha Channel", by James Burgess
2002.03.06 08:55 "RE: Photoshop Alpha Channel", by Phil Hulme
2002.03.06 22:32 "RE: Photoshop Alpha Channel", by Chris Cox

2002.03.06 23:32 "Re: Photoshop Alpha Channel", by Daniel McCoy

First, alpha is not the same as transparency. Transparency is a subset of possible alpha channels.

Fine. Semantically speaking, I want an RGBA image where the alpha channel defines the coverage of each pixel over the background, thereby preserving each individual pixel's relative opacity. Please got to Alvy Ray Smith's site at and download his papers "Image Compositing Fundamentals" and "Alpha and the History of Digital Compositing" if there is any confusion as to the specific type of pre-multiplied alpha that should be present in a TIFF file's associated alpha channel. As Alvy pretty much invented the alpha channel as we know it today, I use his approach as the standard.

His standard has been added to over the years, and abstracted far beyond his original usage.

Look in 3D applications which ask you to specify _which_ alpha channel you want to control any one of a dozen shading parameters..... They treat the channels about like Photoshop: color data, transparency, and "other". Transparency and "other" are all alpha channels.

I don't know what 3d apps you're talking about, but you're certainly not talking about RenderMan.

The usage of the name "alpha" has been corrupted by loose usage. Many people talk about an alpha channel as just another data channel. While this veers off wildly from the original idea of an alpha channel, the usage is there and we have to deal with it.

When TIFF 6.0 was being put together, Sam Leffler, then at SGI, asked me to come help present the case for adding alpha to TIFF to the TIFF committee. At that time, the TIFF committee was largely oriented towards the 2D and print world and most didn't have a good understanding of what 3D rendering packages would want from a alpha channel. They were mostly happy with a 1-bit mask channel.

Before I went to the meeting, I consulted with Tom Porter (co-author with Tom Duff of the 1984 "Compositing Digital Images", still a good reference after all these years) to prime me with a good case. Tom suggested the "associated" and "unassociated" terminology to make the distinction between the original idea of alpha and just extra data.

I believe that the TIFF 6.0 spec definition for the "ExtraSamples" tag only defines a value for associated alpha. (ExtraSamples == 1). God only knows what's in a channel where the ExtraSamples tag is any other value, that is not covered by the spec it's just some extra data tacked onto the pixel, and usage is entirely up to the application.

When the ExtraSamples tag says 1, for associated alpha, it is well defined by the TIFF 6.0 spec.

It better be coverage (not exactly the same as tranparency, but not always an important distinction), and if the color channels are RGB, they better be pre-multiplied.

Ok, 4 years ago Photoshop didn't support transparency in TIFF. There have been 2 full versions since then, and we're about to release the third.

Yeah, when something makes it into the lore about a package, like "PhotoShop doesn't support alpha", it can be a lot easier to update the software than to update the lore.

Daniel McCoy     Pixar