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