Sign inSign up

kmlvision/openslide

By kmlvision

•Updated over 7 years ago

Dockerized version of the OpenSlide library with PreciPoint VMIC and GTIF support.

Image
0

1.1K

kmlvision/openslide repository overview

⁠OpenSlide

Build Status

Carnegie Mellon University and others

http://openslide.org/⁠

Forks by

  • PreciPoint: for VMIC and GTIF support

⁠What is this?

This library reads whole slide image files (also known as virtual slides). It provides a consistent and simple API for reading files from multiple vendors.

⁠What is the license?

This code is licensed under the GNU LGPL version 2.1, not any later version. See the file lgpl-2.1.txt for the text of the license.

⁠Requirements

This library requires zlib, libpng, libjpeg, libtiff, OpenJPEG 1.x or >= 2.1, GDK-PixBuf, libxml2, SQLite >= 3.6.20, cairo >= 1.2, and glib >= 2.16. Leica and Ventana support require libtiff >= 4.

In this repo, we include the yet unmerged pull request in the upstream repository of PreciPoint (https://github.com/Markus-PP/openslide-vmic⁠) to support VMIC images. Requires "libzip >= 1.1"

If you want to run the test suite, you will need PyYAML, python-requests, xdelta3, cjpeg and djpeg (from libjpeg), a Git checkout of OpenSlide, at least one installed font, and > 120 GB of disk space. Valgrind mode requires Valgrind, plus debug symbols for library dependencies (particularly glib2) and Fontconfig. Profile mode requires Valgrind. Coverage mode requires gcov and Doxygen.

⁠Features

The library can read Aperio, Hamamatsu, Leica, MIRAX, Sakura, Trestle, and Ventana formats, as well as TIFF files that conform to a simple convention. (InterScope files tend to be readable as this generic TIFF.)

More information about formats is here: http://openslide.org/formats/⁠

An openslide_t object can be used concurrently from multiple threads without locking. (But you must lock or otherwise use memory barriers when passing the object between threads.)

⁠Properties

The library exposes certain properties as string key-value pairs for a given virtual slide. (These are accessed by way of the "openslide_get_property_names" and "openslide_get_property_value" calls.)

These properties are generally uninterpreted data gathered from the on-disk files. New properties can be added over time in subsequent releases of OpenSlide. A list of some properties can be found at: http://openslide.org/properties/⁠

OpenSlide itself creates these properties (for now):

openslide.background-color The background color of the slide, given as an RGB hex triplet. This property is not always present.

openslide.bounds-height The height of the rectangle bounding the non-empty region of the slide. This property is not always present.

openslide.bounds-width The width of the rectangle bounding the non-empty region of the slide. This property is not always present.

openslide.bounds-x The X coordinate of the rectangle bounding the non-empty region of the slide. This property is not always present.

openslide.bounds-y The Y coordinate of the rectangle bounding the non-empty region of the slide. This property is not always present.

openslide.comment A free-form text comment.

openslide.mpp-x Microns per pixel in the X dimension of level 0. May not be present or accurate.

openslide.mpp-y Microns per pixel in the Y dimension of level 0. May not be present or accurate.

openslide.objective-power Magnification power of the objective. Often inaccurate; sometimes missing.

openslide.quickhash-1 A non-cryptographic hash of a subset of the slide data. It can be used to uniquely identify a particular virtual slide, but cannot be used to detect file corruption or modification.

openslide.vendor The name of the vendor backend.

⁠Other Documentation

The definitive API reference is in openslide.h. For an HTML version, see doc/html/openslide_8h.html in this distribution.

Additional documentation is available from the OpenSlide website: http://openslide.org/⁠

The design and implementation of the library are described in a published technical note:

OpenSlide: A Vendor-Neutral Software Foundation for Digital Pathology Adam Goode, Benjamin Gilbert, Jan Harkes, Drazen Jukic, M. Satyanarayanan Journal of Pathology Informatics 2013, 4:27

http://download.openslide.org/docs/JPatholInform_2013_4_1_27_119005.pdf⁠

There is also an older technical report:

CMU-CS-08-136 A Vendor-Neutral Library and Viewer for Whole-Slide Images Adam Goode, M. Satyanarayanan

http://reports-archive.adm.cs.cmu.edu/anon/2008/abstracts/08-136.html⁠ http://reports-archive.adm.cs.cmu.edu/anon/2008/CMU-CS-08-136.pdf⁠

⁠Acknowledgements

OpenSlide has been supported by the National Institutes of Health and the Clinical and Translational Science Institute at the University of Pittsburgh.

⁠How to build?

(If building from the Git repository, you will first need to install autoconf, automake, libtool and pkg-config and run autoreconf -i.)

⁠clone this repository

./configure
make
make install

Good luck!

Tag summary

Content type

Image

Digest

Size

237.1 MB

Last updated

over 7 years ago

docker pull kmlvision/openslide