OpenSlide 3.4.0 released with updated language bindings

Benjamin Gilbert bgilbert at cs.cmu.edu
Sun Jan 26 00:12:02 EST 2014


Hello,

OpenSlide 3.4.0 has been released, along with updated versions of the 
Java and Python bindings and a new Windows build.

As usual, they're at:

     http://openslide.org/download/


OpenSlide 3.4.0
---------------

OpenSlide 3.4.0 adds support for Hamamatsu NDPI, Leica slides with 
multiple coplanar main images, MIRAX slides with PNG and BMP encodings, 
Sakura SVSLIDE, and Ventana BIF (preliminary).  It also changes the 
Leica level size/origin to encompass the entire slide, and improves 
compatibility with certain MIRAX slides.

API changes: added new properties giving the bounds of the non-empty 
slide region, added openslide_detect_vendor(), deprecated 
openslide_can_open().


OpenSlide Java 0.12.0
---------------------

OpenSlide Java 0.12.0 updates the API for OpenSlide 3.4.0 and fixes a 
NullPointerException when opening slides without a quickhash1.


OpenSlide Python 0.12.0
-----------------------

OpenSlide Python 0.5.0 updates the API for OpenSlide 3.4.0, adds Python 
3 support, returns Unicode strings on Python 2, adds a DeepZoomGenerator 
option to render only the non-empty slide region, corrects Deep Zoom 
tile positions for Aperio slides, fixes initialization on MacPorts, and 
improves the Deep Zoom example tools.


Upgrade notes
-------------

openslide_can_open() has been deprecated, since it was not very useful 
and was often misused.  If you need an inexpensive way to check whether 
a file is recognized by OpenSlide without actually opening it (for 
example, to filter a file list in an Open dialog), use the new 
openslide_detect_vendor() function.  Otherwise, you should call 
openslide_open() directly:

     openslide_t *osr = openslide_open(path);
     if (osr == NULL) {
         printf("File is not supported\n");
         return NULL;
     } else if (openslide_get_error(osr)) {
         printf("Failed to open slide: %s\n", openslide_get_error(osr));
         openslide_close(osr);
         return NULL;
     }
     return osr;

The new openslide.bounds-{x,y,width,height} properties provide the 
level-0 bounding box of the populated region of the slide, if available. 
  Viewer applications can use these properties to avoid showing large 
amounts of empty space around the scanned region.  Applications that 
store coordinate data for a slide, such as the positions of annotations 
or AOIs, should continue to store these coordinates relative to the 
level 0 origin.

The Leica backend now renders scanned regions into levels the size of 
the entire slide.  Applications can convert pixel coordinates of 
existing stored annotations by adding the values of the 
openslide.bounds-{x,y} properties.

Thanks,
--Benjamin Gilbert


More information about the openslide-users mailing list