AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
August 2017

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2017.08.26 13:56 "Determining use of "w" or "w8" in TIFFOpen", by Paul Hemmer
2017.08.26 14:19 "Re: Determining use of "w" or "w8" in TIFFOpen", by <jcupitt@gmail.com>
2017.08.26 14:54 "Re: Determining use of "w" or "w8" in TIFFOpen", by Paul Hemmer
2017.08.26 15:14 "Re: Determining use of "w" or "w8" in TIFFOpen", by Paavo Helde
2017.08.26 15:22 "Re: Determining use of "w" or "w8" in TIFFOpen", by Paul Hemmer
2017.08.26 15:31 "Re: Determining use of "w" or "w8" in TIFFOpen", by Paul Hemmer
2017.08.26 17:44 "Re: Determining use of "w" or "w8" in TIFFOpen", by Paavo Helde
2017.08.26 15:23 "Re: Determining use of "w" or "w8" in TIFFOpen", by <jcupitt@gmail.com>
2017.08.26 15:31 "Re: Determining use of "w" or "w8" in TIFFOpen", by Roger Leigh
2017.08.26 15:38 "Re: Determining use of "w" or "w8" in TIFFOpen", by Paul Hemmer

2017.08.26 15:38 "Re: Determining use of "w" or "w8" in TIFFOpen", by Paul Hemmer

Thank you Roger, this is clear.


appreciate it!



________________________________
From: tiff-bounces@lists.maptools.org <tiff-bounces@lists.maptools.org> on
behalf of Roger Leigh <rleigh@codelibre.net>
Sent: Saturday, August 26, 2017 11:31 AM
To: tiff@lists.maptools.org
Subject: Re: [Tiff] Determining use of "w" or "w8" in TIFFOpen

On 26/08/2017 13:56, Paul Hemmer wrote:
> Hello!
>
>
> If I have a buffer of 16bit grayscale data, and a known width and
> height, I could calculate the size by w*h*2
>
>
> If that size is greater than 4GB, I should specify "w8" and if less
> than, I should specify "w" when calling TIFFOpen() in order to get the
> BigTIFF format when needed.

Yes, but also take care to account for the additional space required by
the TIFF header and all IFDs.  There's an overhead of 16 bytes per tile
or strip using BigTIFF for the offset and size (8 for regular TIFF).
And there may be other metadata stored as well.

I use this logic:

https://github.com/ome/ome-files-cpp/blob/master/lib/ome/files/tiff/Util.cpp#L389
[https://avatars2.githubusercontent.com/u/1831717?v=4&s=400]<https://github.com/ome/ome-files-cpp/blob/master/lib/ome/files/tiff/Util.cpp#L389>

ome/ome-files-cpp<https://github.com/ome/ome-files-cpp/blob/master/lib/ome/files/tiff/Util.cpp#L389>
github.com
ome-files-cpp - OME Files is a C++ library for reading and writing data
using the open and standard OME-TIFF file format using the OME data model




Basically, we add an extra 5% to all the pixel data sizes to ensure we
will have enough space with some headroom for safety.  This means we
switch automatically from TIFF to BigTIFF at approximately 3890 MiB,
which is already quite large.  Or allow the user to manually force one
or the other, with warnings when the limit is exceeded.

> But what if the use of COMPRESSION_LZW would result in a file that is
> much smaller than 4GB? I can't know that ahead of time (can I?)  Should
> I still use w8 if the uncompressed dimensions require more than 4GB?

Because it's hard to tell up front just how much space compression will
save (if any), I ignore it entirely to be safe.  Some image data
compresses well, other data very poorly.

> I'm finding that I can't simply specify "w8" for all, as those that are
> less than 4GB end up failing to open.

The 4GB limit is solely due to the offsets being 32-bit for regular TIFF
and 64-bit for BigTIFF.  You can have a BigTIFF of any size up to 2^64;
being less than 2^32 is not a problem.  Check that your software can
read BigTIFF; it's likely that rather than a problem with the file.


Regards,
Roger
_______________________________________________
Tiff mailing list: Tiff@lists.maptools.org
http://lists.maptools.org/mailman/listinfo/tiff
TIFF and LibTiff mailing list -
MapTools.org<http://lists.maptools.org/mailman/listinfo/tiff>
lists.maptools.org
For discussion of the TIFF format, and use of the LibTiff library by
software developers.



http://www.remotesensing.org/libtiff/