File: //usr/share/doc/openslide/README.txt
OpenSlide
Carnegie Mellon University and others
http://openslide.org/
==========================
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.
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?
=============
./configure
make
make install
(If building from the Git repository, you will first need to install
autoconf, automake, libtool, and pkg-config and run "autoreconf -i".)
Good luck!