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