Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/malaterre/openslide-debian

debian openslide package
https://github.com/malaterre/openslide-debian

Last synced: 23 days ago
JSON representation

debian openslide package

Awesome Lists containing this project

README

        

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!