comparison README @ 1590:7b963bccafef

updated README
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 22 Oct 2020 18:39:03 +0200
parents README.md@c53a4667f895
children 8563ea5d8ae4
comparison
equal deleted inserted replaced
1589:8c5f9864545f 1590:7b963bccafef
1 Stone of Orthanc
2 ================
3
4 General Information
5 -------------------
6
7 This repository contains the source code of Stone of Orthanc.
8
9 Stone of Orthanc is a lightweight, cross-platform C++ framework for
10 the rendering of medical images. It is a companion toolkit to the main
11 Orthanc DICOM server. It notably features support for MPR (multiplanar
12 reconstruction of volume images), PET-CT fusion, and accurate physical
13 world coordinates.
14
15 Stone of Orthanc can take advantage of OpenGL/WebGL to accelerate 2D
16 rendering using the GPU. 3D operations such as reslicing are done
17 using CPU.
18
19 Stone of Orthanc is compatible with any GUI framework (such as Qt,
20 wxWidgets, MFC...). The provided sample applications use the SDL
21 framework.
22
23 Very importantly, Stone of Orthanc is compatible with WebAssembly,
24 which makes it suitable to render medical images in Web applications.
25
26 As a library for medical imaging, Stone of Orthanc also comes with
27 primitives to download, parse and handle DICOM images. These
28 primitives can use either the REST API of the Orthanc server, or the
29 DICOMweb protocol. Primitives to deal with radiotherapy or nuclear
30 medicine studies are available as well (image fusion using layers).
31
32 Besides the low-level Stone of Orthanc library, this repository also
33 contains the Stone Web viewer. The Stone Web viewer is a
34 fully-featured Web viewer that can be either used as a plugin to
35 Orthanc, or as a standalone viewer if using DICOMweb.
36
37
38 Comparison
39 ----------
40
41 Stone of Orthanc is quite similar to two other well-known toolkits:
42
43 * Cornerstone, a client-side JavaScript toolkit to display medical
44 images in Web browsers, by Chris Hafey <chafey@gmail.com>:
45 https://github.com/chafey/cornerstone
46
47 Contrarily to Cornerstone, Stone of Orthanc is written in C++ and
48 can be embedded into native, heavyweight applications.
49
50 * VTK, a C++ toolkit for scientific visualization, by Kitware:
51 http://www.vtk.org/
52
53 Contrarily to VTK, Stone of Orthanc is much more simple, and only
54 uses the GPU for 2D rendering.
55
56
57 Dependencies
58 ------------
59
60 Stone of Orthanc is based upon the following projects:
61
62 * Orthanc, a lightweight Vendor Neutral Archive (DICOM server):
63 http://www.orthanc-server.com/
64
65 * Cairo and pixman, a cross-platform 2D graphics library:
66 https://www.cairographics.org/
67
68 * Optionally, SDL, a cross-platform multimedia library:
69 https://www.libsdl.org/
70
71 On Ubuntu, you would use:
72
73 $ sudo apt-get install -y libcairo-dev libpixman-1-dev libsdl2-dev
74
75 * Optionally, Emscripten, the official compiler for WebAssembly:
76 https://emscripten.org/
77
78
79 Installation and usage
80 ----------------------
81
82 Build instructions and usage details are available as part of the
83 Orthanc Book:
84 http://book.orthanc-server.com/developers/stone.html
85
86 Stone of Orthanc comes with several sample applications in the
87 "Applications/Samples" folder. Please check the
88 "Applications/Samples/README.md" file for information on the samples
89 building and running procedure.
90
91 The source code of the Stone Web viewer is located in folder
92 "Applications/StoneWebViewer".
93
94
95 Technical information
96 ---------------------
97
98 - For situations where OpenGL is not available, Stone of Orthanc comes
99 bundled with its own software-based rendering engine (based upon
100 cairo and pixman). This engine will use CPU hardware acceleration if
101 available (notably SSE2, SSSE3, and NEON instruction sets), but not
102 the GPU. This makes Stone a highly versatile framework that can run
103 even on low-performance platforms.
104
105 - Stone of Orthanc is compatible with desktop software, with native
106 mobile apps and with Web applications. To achieve this
107 compatibility, the rendering loop of Stone of Orthanc is
108 single-threaded, and abstracts network transfers and other
109 asynchronous events thanks to a so-called "Oracle". The Oracle is
110 the place where architecture-specific operations/computations can
111 take place (for instance, multi-threading).
112
113
114 Licensing
115 ---------
116
117 Stone of Orthanc is licensed under the AGPLv3+ license.
118
119 We also kindly ask scientific works and clinical studies that make use
120 of Orthanc to cite Orthanc in their associated publications.
121 Similarly, we ask open-source and closed-source products that make use
122 of Orthanc to warn us about this use. You can cite our work using the
123 following BibTeX entry:
124
125 @Article{Jodogne2018,
126 author="Jodogne, S{\'e}bastien",
127 title="The {O}rthanc Ecosystem for Medical Imaging",
128 journal="Journal of Digital Imaging",
129 year="2018",
130 month="Jun",
131 day="01",
132 volume="31",
133 number="3",
134 pages="341--352",
135 issn="1618-727X",
136 doi="10.1007/s10278-018-0082-y",
137 url="https://doi.org/10.1007/s10278-018-0082-y"
138 }
139