2000.03.30 10:53 "Complex Floating Point", by Antonio E. Scuri

2000.03.31 18:48 "Re: Complex Floating Point", by Daniel McCoy

In fact this effort is to try to make the image readable by scientific applications in near future. If they eventually decide to implement some sort of Complex Tiff images.

My recommendation is to establish a convention and follow it. This forum is a great place to solicit ideas for the convention, but then just pick one and do it yourself. Publish your own tech note on it and offer it to everyone who might find it useful.

There is a frequent misunderstanding about TIFF. People confuse some of the "baseline" tiff descriptions with TIFF itself. The TIFF spec tells you a few things that you can do, but it doesn't tell you much about what you can't do.

I would reccomend that you use the RGB photometric and set SamplesPerPixels to six in a Contiguous PlanarFormat. The beauty of this choice is that later, if you could convince whoever to include COMPLEX SampleFormats in the spec, the image data would already be in the exact order it needs to be. You could just change your programs to write the new SampleFormat tag and set the SamplesPerPixel tag down to 3, but the program could easily be made to handle both old and new because the acutal image data would be exactly the same.

For example, the alpha channel was not a part of the TIFF 5.0 spec. SGI established a private tag and a convention for storing an alpha channel in a TIFF file. Pixar followed this convention along with SGI, even shipping software products that relied on it. When the 6.0 TIFF spec was being worked on, Sam Leffler, then at SGI and myself representing Pixar were able to convince the committee to accept the concept and the ExtraSamples tag was the result. The conversion from the old SGI private alpha channel tag to the new 6.0 standard ExtraSamples tag was straightforward and libtiff was easily able to handle old files containing the old convention in a way transparent to the calling program by manipulating tags, (see the code for TIFFTAG_MATTEING in libtiff) but the image data was in the exact same format that was established already.

Daniel McCoy   Pixar   mccoy@pixar.com