2005.02.02 15:35 "Re: [Tiff] Tiff differences", by Bob Friesenhahn
I have recently known about libtiff and all of the tiff issues, as a result of an issue my organization is dealing at this moment. We have rasterized some plants in a scanner. Next step would be the use of Intergraph's software IRAS/C to perform an image to map operation, thus we get georeferenced images.
However, the results of this operation is not the expected, since the residual error values exceed all tolerances. In the past, with other scanner, we got tiff images that gave us nice results. I believe that this is a tiff internal structure issue, so to compare, both images, from the same plant, i gave you the structure read by TiffTagViewer.
Tiff 1 - Size 211306 kb
RowsPerStrip (1 Long): 512
StripByteCounts (17 Long): 12930048, 12930048, 12930048, 12930048,...
Tiff 2 - size 257296 kb
RowsPerStrip (1 Short): 31728
StripByteCounts (1 Long): 263469312
Other fact is that IRASC/C takes much more time to read Tiff2 then Tiff1, despite their similarity in size. This loading time disparity is not detected when Photoshop is used.
Detected main differences are related to strips. I think that Tiff 1 has more strips then Tiff 2. In this case, i think that Tiff2 is much more heavy (i am using 2Gb memory)
Tiff 2 is using one huge strip. It seems that the TIFF reader is "broken" in that it is trying to read the entire strip (263469312 bytes) into memory at once. At least with libtiff, there is the opportunity to use scanline style access with this tiff in order to minimize memory consumption.
Any feedback is welcomed in detecting differences that can cause this issues, as well as the best way to make tiff2 similar to tiff 1.
Use tiffcp to break the problem tiff into one with small strips, or fix the tiff reader to use scanline access when it should.