
Thread
2005.07.28 16:58 "Re: [Tiff] Problems with MS Windows generated tiff files", by Joris Van Damme
Ian,
A colleague has been sent a bunch of tiff files generated by some Adobe app. on windows.
There's defenetly some stuff wrong with this image, though my guess is you're pointing the finger in the wrong direction in your subject line and in your message body.
Here's a tag dump of the file.
File "img1.tif"
Byte order: Intel
Format: Classic TIFF
IFD Tree
Single page at offset 8
Exif IFD at offset 1967960
Single page
Offset: 8
Next IFD: 0
NewSubfileType (1 LONG): -
ImageWidth (1 SHORT): 1400
ImageLength (1 SHORT): 1400
BitsPerSample (1 SHORT): 8
Compression (1 SHORT): No compression
PhotometricInterpretation (1 SHORT): BlackIsZero
StripOffsets (1 LONG): 7960
SamplesPerPixel (1 SHORT): 1
RowsPerStrip (1 SHORT): 1400
StripByteCounts (1 LONG): 1960000
XResolution (1 RATIONAL): 72
YResolution (1 RATIONAL): 72
ResolutionUnit (1 SHORT): Inch
Software (29 ASCII): "Adobe Photoshop Elements 2.0"
DateTime (20 ASCII): "2005:07:09 18:30:02"
XMP (5036 BYTE): "<?xpacket begin=' ' id='W5M0MpCehiHzreSzNTczkc9...
Photoshop (2628 BYTE): 56, 66, 73, 77, 4, 37, 0, 0, 0, 0, 0, 16, 0,...
Exif IFD (1 LONG): 1967960
Exif IFD
Offset: 1967960
Error: Reading IFD: Premature end of data
This is a very typical Adobe generated file, as we can see from the Software tag, the XMP and Photoshop tag, and the presence of the Exif IFD. It is a single strip image, and that math is correct.
RowsPerStrip = ImageLength
ImageWidth*RowsPerStrip*BytesPerPixel
= 1400*1400*1 = 1960000
= Single StripByteCount value
The position of the single image IFD, offset 8, is also typical. The single StripOffset + the single StripByteCount = 7960 + 1960000 = 1967960 = offset of Exif IFD. However, the size of the file is 1032192, which is considerably less. So it seems this file is truncated somewhere in the middle of the uncompressed image raster data. This is bound to cause problems in mainstream readers, and that's probably the cause of the corruption you're viewing. Advanced readers that also try and access the Exif IFD will have an additional problem to deal with, since the file is truncated before that IFD's position.
./tiff2ps ~/tmp/img1.tif > ~/tmp/img1.eps TIFFReadDirectory: Warning, /home/ian/tmp/img1.tif: Bogus "StripByteCounts" field, ignoring and calculating from imagelength. TIFFFillStrip: /home/ian/tmp/img1.tif: Read error on strip 146; got 2232 bytes, expected 7000. /home/ian/tmp/img1.tif: Can't read strip.
If you take stripchopping into account, this might make sense.
** Conclusion **
To me this seems like a file that probably was perfectly allright at one stage, but probably got truncated somewhere at some stage between the writer app writing it and your receiving it.
Joris Van Damme
info@awaresystems.be
http://www.awaresystems.be/
Download your free TIFF tag viewer for windows here:
http://www.awaresystems.be/imaging/tiff/astifftagviewer.html