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
January 1997

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

1997.01.07 11:41 "Efficient load of a small part of an image?", by Filip Larsen
1997.01.07 13:27 "Re: Efficient load of a small part of an image?", by Rainer Wiesenfarth
1997.01.07 18:02 "Re: Efficient load of a small part of an image?", by Daniel Mccoy

1997.01.07 11:41 "Efficient load of a small part of an image?", by Filip Larsen

Hi there, I'm new to this list.

I was wondering if there is a simple, yet efficient way of loading only
a small rectangular part of a TIFF image using libtiff?

We (Kampsax Geoplan) have a set of 3750x2500 24-bit TIFF files, each
covering a grid on a uniform recangular geographic grid. I'm now making
a small program that given an arbitrary rectangle in "geographic"
coordinates will locate the "grid" TIFF files needed, load the parts of
those that are necessary and tile the whole thing together to one big
image.

So, for efficiency I would like to avoid loading each 30 MB image (over
NFS-mounted disks!) when I only need, say, 1 MB of it. However, as far
as I can see, there is no direct support in libtiff for loading only
parts of a general image. It seems to me that the "logical" behaviour of
what I want can be accomplished by using a custom put-function in
TIFFRGBAImageGet (one that almost simply ignores data outside the
requested rectangle), but the underlying libtiff code will still
"iterate" through the whole image in the process, thus reading 30 MB
instead of only 1 MB.

Do I really have to write a complicated low-level reader to get what I
want? And if so, are there any good examples I can work from? (I
couldn't find any examples in the libtiff code tree that covers this;
all code that needs to "understand" the image uses RGBAImage).

BTW, I use libtiff version 3.4beta35, compiled under Sun/Solaris/Linux.


Best regards,
-- 
--------------------------------------------------------------
Filip Larsen, M.Sc.(Eng.), Computer and Computational Science
mailto:filip@datashopper.dk  http://chaos.fys.dtu.dk/~filip
--------------------------------------------------------------