VIPS / SVS
Benjamin Gilbert
bgilbert at cs.cmu.edu
Fri Sep 21 18:49:19 EDT 2012
On 09/21/2012 06:16 PM, Priv.-Doz. Dr. M. Weihrauch wrote:
> However, I was happy to see one post about using VIPS to directly create
> DeepZoom tiles. But: I found 2 bugs / problems with the dzsave-option of
> Windows vips 7.30.1 vips.exe file:
>
> 1. It only works on large TIF that I have exported from Aperio SVS with
> Imagescope and on the files that I have converted to SVS(JPEG) with
> imagescope. However, if I want to use
> the original SVS (with internal JPEG2000), it only produces black tiles.
VIPS requires OpenSlide to read SVS files. However, OpenSlide is an
*optional* dependency of VIPS, and the VIPS library in
vips-dev-7.30.1.zip doesn't appear to use it.
If you want to see whether OpenSlide can successfully read your slide
files, you can download the OpenSlide Windows binaries from:
http://openslide.org/download/#windows_binaries
Run "openslide.jar" in the "bin" directory and see if it successfully
opens your slide. (If not, please tell us about it!)
Now you have a few options:
1. File a bug in VIPS asking for the Windows binaries to be linked
against OpenSlide.
2. Recompile VIPS yourself. You could use either the VIPS or OpenSlide
build scripts as a starting point:
https://github.com/jcupitt/build-win32
https://github.com/openslide/openslide-winbuild
but either way this will be somewhat painful.
3. Use Linux. Debian wheezy, Ubuntu quantal, and Fedora all ship VIPS
libraries linked against OpenSlide.
4. Use OpenSlide's own static Deep Zoom tiler instead of VIPS. Our
tiler isn't as fast as VIPS and produces slightly lower-quality images,
but requires only the OpenSlide Windows binaries, Python, and OpenSlide
Python.
5. Use OpenSlide's dynamic tiler. This would allow you to avoid
pregenerating any tiles at all -- just run the dynamic tiler on your web
server, and it will produce individual tiles as they are requested by
the web browser. Integrating the dynamic tiler into your infrastructure
will probably require some web programming, especially if your target is
Google Maps rather than Deep Zoom.
> 2. It does not make the tiles until 1px in zoom level 0, but stops
> around zoom level 9 or 10 depending on the size. The last zoom level (e.
> g. 9) only contains half of the image. There was no error message by the
> vips.exe. Thus, when you run seadragon, you only see half of the image.
> When you zoom in, it displays the full image. I checked on the
> directories and there are really half of the tiles missing.
If the TIFF file displays correctly in nip2, I'd suggest filing a bug in
libvips. The VIPS Deep Zoom code is relatively new.
> 3. One important question: how can I set a JPEG compression level?
A comment in dzsave.c says that you can pass something like
"--suffix=.jpg[Q=85]".
> 4. Under which license is the entire library?
OpenSlide is LGPLv2.1. I believe libvips is LGPLv2.1+.
--Benjamin Gilbert
More information about the openslide-users
mailing list