Huge TIFF files blanks

Started by Raketten, January 20, 2013, 11:53:48 PM

Previous topic - Next topic

Raketten

Dear all,

sorry for misusing your tool on my huge files. I am talking about a tiff file at 1.3 Gb which is blank (image all black) after trying to set a XResolution tag.

I do exiftool -XResolution=600 image.tif

On Linux. File pixel size is 25200x19800.

The resulting file is only 180Mb and as I said all black. Exiftool tells me zero/all good and the XResoution is 600 as expected.

Other files at approx same size (slightly smaller) are handled without problems. I use eiftool 9.14 just downloaded.

The image in question can be provided, but as it is big, we need to talk...

Edit

Just downloaded the windows version and it has same behavior, I attach some screen shots that might help

Phil Harvey

ExifTool should be able to handle TIFF's of any size. 

Could you attach the output of the -htmldump option for the original file (raw13.tif_original)?

Thanks.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Raketten

Thanks for your prompt reply, I have the file, but even zipped, it is 12+Mb, so how I send to you.

Please let me know you preferred method.

Thanks,

Henrik

Raketten

sorry for being silly...

It is available at www.largeformatsky.com/foo/out.html even it takes a while to load and to download....

Thanks Henrik

Phil Harvey

Hi Henrik,

Wow, that is the largest -htmlDump output I have ever seen! The reason for this is that there is one strip for each of the 18000 lines of the image.  Ouch!

But the problem can be seen in the output.  The StripByteCounts are wrong for each strip, indicating 10064 bytes per strip, but it should be 75600 bytes (25200 pixels wide * 3 bytes per pixel).  This is a simple bug in the software that wrote the image:  StripByteCounts is written as a 16-bit integer, but a 32-bit integer is needed.  The value written (10064) is 0x2750 in hexadecimal, but it should be 0x12750.

As a result, 0x10000 bytes of data are lost from each strip when ExifTool rewrites the image.

You should report this bug to the company responsible for the software that wrote the image.

(I really spend far too much time debugging problems in other peoples' software...)

- Phil

Edit: There were 18000 strips, not 36000
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Raketten

Hi Phil,

I hear you - as my father always say, and he is right, work has a tendency to flow to where it is done right...

I will let OpenCV know that they have a bug....

Thanks for your help!

Henrik