forked from Nico-Curti/openslide
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
159 lines (106 loc) · 4.61 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
OpenSlide
Carnegie Mellon University and others
https://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:
https://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:
https://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:
https://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!