Mercurial > hg > orthanc-book
annotate Sphinx/source/plugins/webviewer.rst @ 1113:a588960a72e5 default tip
spelling
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Mon, 28 Oct 2024 09:23:08 +0100 |
parents | 05b106383b2a |
children |
rev | line source |
---|---|
24 | 1 .. _webviewer: |
2 | |
3 | |
303 | 4 Orthanc Web Viewer plugin |
5 ========================= | |
24 | 6 |
27 | 7 .. contents:: |
8 | |
24 | 9 This **official** plugin extends Orthanc with a Web viewer of medical images. |
27 | 10 |
11 For general information, check out the `official homepage of the | |
358
011b01ccf52d
fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
303
diff
changeset
|
12 plugin <https://www.orthanc-server.com/static.php?page=web-viewer>`__. |
28 | 13 |
14 | |
15 Compilation | |
16 ----------- | |
17 | |
81 | 18 .. highlight:: bash |
28 | 19 |
414 | 20 The procedure to compile this plugin is similar of that for the |
31
93bbfaf0e62c
worklist instructions migrated to a specific page, indexing of Osimis Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
29
diff
changeset
|
21 :ref:`core of Orthanc <binaries>`. The following commands should work |
761 | 22 for most UNIX-like distribution (including GNU/Linux):: |
28 | 23 |
24 $ mkdir Build | |
25 $ cd Build | |
81 | 26 $ cmake .. -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Release |
28 | 27 $ make |
28 | |
29 The compilation will produce a shared library ``OrthancWebViewer`` | |
30 that contains the Web viewer plugin. Pre-compiled binaries for | |
31 Microsoft Windows `are also available | |
993
05b106383b2a
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
991
diff
changeset
|
32 <https://orthanc.uclouvain.be/downloads/windows-32/orthanc-webviewer/index.html>`__. |
28 | 33 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
34 *Remark:* Some older build instructions are also available in the |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
35 `source distribution |
991
1316bc62b5d5
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
761
diff
changeset
|
36 <https://orthanc.uclouvain.be/hg/orthanc-webviewer/file/default/Resources/BuildInstructions.txt>`__. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
37 |
28 | 38 |
39 Usage | |
40 ----- | |
41 | |
42 .. highlight:: json | |
43 | |
44 You of course first have to :ref:`install Orthanc <compiling>`. Once | |
45 Orthanc is installed, you must change the :ref:`configuration file | |
46 <configuration>` to tell Orthanc where it can find the plugin: This is | |
47 done by properly modifying the ``Plugins`` option. You could for | |
48 instance use the following configuration file:: | |
49 | |
50 { | |
51 "Name" : "MyOrthanc", | |
52 [...] | |
53 "Plugins" : [ | |
54 "/home/user/OrthancWebViewer/Build/libOrthancWebViewer.so" | |
55 ] | |
56 } | |
57 | |
58 .. highlight:: text | |
59 | |
60 Orthanc must of course be restarted after the modification of its | |
61 configuration file. The log will contain an output similar to:: | |
62 | |
63 # Orthanc ./Configuration.json | |
64 W0226 16:59:10.480226 7906 main.cpp:636] Orthanc version: mainline | |
65 [...] | |
66 W0226 16:59:10.519664 7906 PluginsManager.cpp:258] Registering plugin 'web-viewer' (version 1.0) | |
67 W0226 16:59:10.519696 7906 PluginsManager.cpp:148] Initializing the Web viewer | |
68 W0226 16:59:10.520004 7906 PluginsManager.cpp:148] Web viewer using 6 threads for the decoding of the DICOM images | |
69 W0226 16:59:10.520021 7906 PluginsManager.cpp:148] Storing the cache of the Web viewer in folder: OrthancStorage/WebViewerCache | |
70 W0226 16:59:10.522011 7906 PluginsManager.cpp:148] Web viewer using a cache of 100 MB | |
71 [...] | |
72 W0226 16:59:10.530807 7906 main.cpp:516] HTTP server listening on port: 8042 | |
73 W0226 16:59:10.581029 7906 main.cpp:526] DICOM server listening on port: 4242 | |
74 W0226 16:59:10.581066 7906 main.cpp:533] Orthanc has started | |
75 | |
76 Once a :ref:`DICOM series <model-world>` is opened using Orthanc | |
77 Explorer, a yellow button entitled ``Orthanc Web Viewer`` will show | |
78 up. It will open the Web viewer for that particular series. See also | |
79 the demonstration video on `official homepage of the plugin | |
358
011b01ccf52d
fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
303
diff
changeset
|
80 <https://www.orthanc-server.com/static.php?page=web-viewer>`__. |
28 | 81 |
82 | |
83 Advanced options | |
84 ---------------- | |
85 | |
86 .. highlight:: json | |
87 | |
88 The configuration of the Web viewer can be fine-tuned by adding some options:: | |
89 | |
90 { | |
91 "Name" : "MyOrthanc", | |
92 [...] | |
93 "Plugins" : [ | |
94 "/home/user/OrthancWebViewer/Build/libOrthancWebViewer.so" | |
95 ], | |
96 "WebViewer" : { | |
97 "CachePath" : "WebViewerCache", | |
98 "CacheSize" : 10, | |
414 | 99 "Threads" : 4 |
28 | 100 } |
101 } | |
102 | |
103 * ``CachePath`` specifies the location of the cache of the Web | |
104 viewer. By default, the cache is located inside the storage | |
105 directory of Orthanc. | |
106 * ``CacheSize`` specifies the maximum size for the cached images, in | |
107 megabytes. By default, a cache of 100 MB is used. | |
108 * ``Threads`` specifies the number of threads that are used by the | |
109 plugin to decode the DICOM images. | |
414 | 110 |
111 | |
112 Old advanced options (up to 2.5) | |
113 -------------------------------- | |
114 | |
115 Up to release 2.5 of the Orthanc Web Viewer plugin, the plugin was | |
116 shipping a decoder of DICOM images using the GDCM library. In May | |
117 2020, the support of GDCM has been :ref:`moved as a separate plugin | |
437 | 118 <gdcm>`. As a consequence, releases <= 2.5 had two more advanced |
119 options, that were removed starting with version 2.6: | |
414 | 120 |
121 * ``EnableGdcm`` specified whether `GDCM | |
29
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
122 <https://sourceforge.net/projects/gdcm/>`__ should be used to decode |
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
123 DICOM images, replacing the built-in decoder of Orthanc that |
358
011b01ccf52d
fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
303
diff
changeset
|
124 internally uses `DCMTK <https://dicom.offis.de/dcmtk.php.en>`__. |
414 | 125 This was notably necessary to deal with DICOM images encoded using |
29
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
126 `JPEG2000 <https://en.wikipedia.org/wiki/JPEG_2000>`__, as this |
414 | 127 format is not readily supported by the core version of DCMTK. By |
128 default, this option was set to ``true``. | |
29
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
129 |
414 | 130 * As a complement to the ``EnableGdcm`` option, it was also possible |
131 to restrict the GDCM decoder to some specific `transfer syntaxes | |
132 <http://dicom.nema.org/medical/dicom/current/output/html/part05.html#chapter_10>`__ | |
133 using the ``RestrictTransferSyntaxes`` option. | |
134 | |
135 | |
136 .. highlight:: json | |
137 | |
138 For instance, the following configuration would enable GDCM to decode | |
139 JPEG 2000 images, while using DCMTK to decode the other transfer | |
140 syntaxes:: | |
29
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
141 |
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
142 { |
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
143 [...] |
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
144 "WebViewer" : { |
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
145 "EnableGdcm" : true, |
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
146 "RestrictTransferSyntaxes" : [ |
45 | 147 "1.2.840.10008.1.2.4.90", // JPEG 2000 Image Compression (Lossless Only) |
148 "1.2.840.10008.1.2.4.91", // JPEG 2000 Image Compression | |
149 "1.2.840.10008.1.2.4.92", // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only) | |
150 "1.2.840.10008.1.2.4.93" // JPEG 2000 Part 2 Multicomponent Image Compression | |
29
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
151 ] |
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
152 } |
1a6c863cf364
EnableGdcm and RestrictTransferSyntaxes options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
28
diff
changeset
|
153 } |
49
6c9771c7db47
safe to remove Web viewer cache
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
45
diff
changeset
|
154 |
6c9771c7db47
safe to remove Web viewer cache
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
45
diff
changeset
|
155 |
6c9771c7db47
safe to remove Web viewer cache
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
45
diff
changeset
|
156 Frequently Asked Questions |
6c9771c7db47
safe to remove Web viewer cache
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
45
diff
changeset
|
157 -------------------------- |
6c9771c7db47
safe to remove Web viewer cache
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
45
diff
changeset
|
158 |
6c9771c7db47
safe to remove Web viewer cache
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
45
diff
changeset
|
159 * If **Orthanc does not start anymore** after a hard shutdown, this |
6c9771c7db47
safe to remove Web viewer cache
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
45
diff
changeset
|
160 might reflect a corruption in the cache of the Web viewer. In such a |
6c9771c7db47
safe to remove Web viewer cache
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
45
diff
changeset
|
161 case, it is safe to remove the folder that contains the cache. By |
6c9771c7db47
safe to remove Web viewer cache
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
45
diff
changeset
|
162 default, this folder is called |
6c9771c7db47
safe to remove Web viewer cache
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
45
diff
changeset
|
163 ``OrthancStorage/WebViewerCache/``. Of course, don't remove the |
6c9771c7db47
safe to remove Web viewer cache
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
45
diff
changeset
|
164 folder ``OrthancStorage/``, as it contains the DICOM files. |