Viewers for Large Images?
mateub asks: "Before setting off to write something of our own, we have been looking for an image viewer that can deal with large (e.g. 10k by 10k pixel) CMYK TIFF images. Note that this is not necessarily the same thing as saying that the file is large, but usually it will be. A smart program could allocate enough memory to show the 1k by 1k pixels of a normal monitor and read other parts of the file when the user scrolls. Not fast, but functional. We've tried ImageMagick, and it isn't that smart--it runs out of memory even on my 1GB RAM, 4GB swap workstation. It appears The Gimp and xv can't even handle CMYK. Are there any programs that can display these images?"
If you decide to write the application yourself, and you are using an Intel architecture, then you might consider using the Intel Image Processing Library.
The library provides a set of low-level image manipulation functions in DLL and static form. A part of the API deals with tiling of big images, so that only the viewable fraction of the image is loaded in the memory. The library comes with a demo app that demonstrates its capabilities including the tiling of images.
I was going to mod you up, but you could have quoted this:
Now adapts rendering method for big images. When the number of pixels in the image exceeds the value set by image-bigness-threshold (as set in config file or on command-line, defaulting to 2 million pixels), it's drawn piece-by-piece on demand rather than all-at-once. The all-at-once behaviour is worth keeping around for smaller images, as it gives much nicer scrolling - but for big images it's just impractical, hence this feature.
Which sounds like just the ticket. You could also have linked to the website.
Here ends sydb's lesson in karmah whoring.
Yours Sincerely, Michael.
ACDSee does choke, however, if the directory has a few thousand images in it. We were training image recognition algorithms and a typical truth category might have as many as 10,000 images. With this many images in a directory, ACDSee became unuseable because it constantly would update the directory contents, filesizes, filetypes (of a network drive) and wouldn't allow user input until it was finished.