Version 3.3.3 fixes inclusion of openslide.h with MSVC and adds minor compatibility improvements for Aperio JP2K and Hamamatsu slides.
Windows build 20130413 also fixes a runtime crash when linked with /OPT:REF.
Version 3.3.2 fixes seams in MIRAX 2.2 slides, fixes associated images in single-level Aperio slides, and improves performance on MIRAX and Hamamatsu VMU.
Windows build 20121201 also fixes a serious, Windows-specific thread safety issue.
Version 3.3.1 has been released, parallelizing concurrent openslide_read_region calls, improving performance on MIRAX and Hamamatsu VMS, and adding experimental tile size properties.
Mac OS X users can now install OpenSlide from MacPorts.
Version 3.3.0 adds support for Leica SCN files and preliminary support for MIRAX 2.2, adds standard properties for microns-per-pixel and objective power, and improves the command-line tools.
API changes: some functions were renamed and the old names deprecated, openslide_get_version was added, and openslide_open now reports errors by returning a handle in error state.
Version 0.11.0 of the Java bindings renames some methods, adds APIs for obtaining the versions of OpenSlide and the Java bindings, fixes error handling under OpenSlide 3.3.0, and fixes many build problems.
Version 0.3.0 of the Python bindings renames some methods and properties, adds a property for the OpenSlide library version, fixes error handling under OpenSlide 3.3.0, and fixes initialization on Mac OS X.
Older news is available here.
OpenSlide is a C library that provides a simple interface to read whole-slide images (also known as virtual slides). The current version is 3.3.3, released 2013-04-13.
Java and Python bindings are also available. The Java binding includes a simple image viewer. The Python binding includes a Deep Zoom generator and a simple web-based viewer.
OpenSlide and its official language bindings are released under the terms of the GNU Lesser General Public License, version 2.1.
The library can read virtual slides in the following formats:
It provides a simple C interface for programmers to use to decode images of these kinds.
OpenSlide’s support for these formats is not endorsed by their respective vendors and may be incomplete. Problems should be reported to the OpenSlide mailing list or issue tracker.
OpenSlide is a product of the research group of M. Satyanarayanan (Satya) in the Carnegie Mellon University School of Computer Science.
See how some projects use OpenSlide.
There is a web-based demo of OpenSlide rendering various slide formats.
There are two mailing lists for OpenSlide:
Users mailing list. Once subscribed, anyone can post. This list is for asking questions about OpenSlide.
Announcement mailing list. It is a low-volume list and is moderated. All users are recommended to subscribe to this list.
Some documentation is included within the downloadable files. Additionally there is:
Development of OpenSlide happens on GitHub:
Some freely-distributable test data is available via HTTP or rsync.
The architecture and design of the library is described in a technical report:
A Vendor-Neutral Library and Viewer for Whole-Slide Images
Adam Goode, M. Satyanarayanan
Technical Report CMU-CS-08-136, June 2008
Computer Science Department, Carnegie Mellon University
Abstract PDF
Whole-slide images, also known as virtual slides, are large, high resolution images used in digital pathology. Reading these images using standard image tools or libraries is a challenge because these tools are typically designed for images that can comfortably be uncompressed into RAM or a swap file. Whole-slide images routinely exceed RAM sizes, often occupying tens of gigabytes when uncompressed. Additionally, whole-slide images are typically multi-resolution, and only a small amount of image data might be needed at a particular resolution.
There is no universal data format for whole-slide images, so each vendor implements its own formats, libraries, and viewers. Vendors typically do not document their formats. Even when there is documentation, important details are omitted. Because a vendor’s library or viewer is the only way to view a particular whole-slide image, doctors and researchers can be unnecessarily tied to a particular vendor. Finally, few (if any) vendors provide libraries and viewers for non-Windows platforms. Some have gone with a server approach, pushing tiles through a web server, or using Java applets, but these approaches have shortcomings in high-latency or non-networked environments.
OpenSlide has been supported by the National Institutes of Health and the Clinical and Translational Science Institute at the University of Pittsburgh.