annotate Sphinx/source/plugins/ohif.rst @ 967:2df3597eacc8

documentation of IIIF support
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 13 Jul 2023 16:26:49 +0200
parents dfd33c9624d8
children 1316bc62b5d5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 .. _ohif:
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 OHIF plugin
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 ===========
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 .. contents::
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 This **official** plugin by the `ICTEAM institute of UCLouvain
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 <https://uclouvain.be/en/research-institutes/icteam>`__ extends
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 Orthanc with the `OHIF <https://ohif.org/>`__ extensible Web imaging
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 platform.
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
14 The plugin greatly simplifies the deployment of OHIF, as it does not
965
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
15 necessitate the setup of any reverse proxy.
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
16
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
17 If you face difficulties in using OHIF, please get in touch with the
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
18 `OHIF community <https://ohif.org/collaborate>`__ in the first place.
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
19 Indeed, the OHIF and Orthanc communities are entirely distinct.
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
20
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 Usage
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 -----
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 This plugin adds a dedicated button to Orthanc Explorer, which
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 provides an easy, fast access to the OHIF viewers (click on the image
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 to view a demo video):
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 .. image:: ../images/OHIF.png
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 :align: center
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 :width: 800
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 :target: https://www.youtube.com/watch?v=-lzddzq9iT4
967
2df3597eacc8 documentation of IIIF support
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 965
diff changeset
33
2df3597eacc8 documentation of IIIF support
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 965
diff changeset
34 |
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 Compilation
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 -----------
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 .. highlight:: bash
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 Official releases can be `downloaded from the Orthanc homepage
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 <https://www.orthanc-server.com/browse.php?path=/plugin-ohif>`__. As
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 an alternative, the `repository containing the source code
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 <https://orthanc.uclouvain.be/hg/orthanc-ohif/>`__ can be accessed
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 using Mercurial.
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 The procedure to compile this plugin is similar of that for the
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 :ref:`core of Orthanc <binaries>`. The following commands should work
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 on most GNU/Linux distributions, provided Docker is installed::
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 $ mkdir Build
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 $ cd Build
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 $ ../Resources/CreateOHIFDist.sh
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 $ cmake .. -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Release
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 $ make
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 The compilation will produce a shared library ``libOrthancOHIF.so``
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59 that contains the OHIF plugin for Orthanc.
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 Pre-compiled Linux Standard Base (LSB) binaries `are available for
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 download <https://lsb.orthanc-server.com/plugin-ohif/>`__.
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 Pre-compiled binaries for Microsoft Windows and macOS `are also
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 available
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 <https://www.orthanc-server.com/browse.php?path=/plugin-ohif>`__.
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 Furthermore, the :ref:`Docker images <docker>`
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 ``jodogne/orthanc-plugins`` and ``osimis/orthanc`` also contain the
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 plugin. Debian and Ubuntu packages can be found in the
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 :ref:`standalone repository <binaries>`
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 ``https://debian.orthanc-labs.com/``.
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 Configuration
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76 -------------
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78 .. highlight:: json
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80 Here is a minimal sample :ref:`configuration file <configuration>` to
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81 use this plugin::
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83 {
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
84 "Plugins" : [
956
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 955
diff changeset
85 "/home/user/orthanc-ohif/Build/libOrthancOHIF.so"
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86 ]
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
87 }
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
88
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89 Orthanc must of course be restarted after the modification of its
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
90 configuration file.
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
91
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
92
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93 Using DICOMweb
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 ^^^^^^^^^^^^^^
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
96 .. highlight:: json
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
97
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
98 By default, the plugin uses the `DICOM JSON data source
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
99 <https://v3-docs.ohif.org/configuration/datasources/dicom-json/>`__ of
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
100 OHIF. This data source is optimized to provide the fastest access to
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
101 the DICOM images, while requiring no additional plugin. However, in
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
102 order to deliver fast access, the OHIF plugin will cache additional
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
103 information about each DICOM instance as :ref:`metadata <metadata>` in
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
104 the Orthanc database, which results in a larger size of the Orthanc
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
105 database (an additional 1KB is roughly needed per instance).
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
106
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
107 As an alternative, it is possible to enable the `DICOMweb data source
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
108 <https://v3-docs.ohif.org/configuration/dataSources/dicom-web>`__. In
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
109 this case, the :ref:`DICOMweb plugin of Orthanc <dicomweb>` must also
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
110 be loaded. It can also be useful to load the :ref:`GDCM plugin <gdcm>`
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
111 if the DICOM images are encoded using a JPEG2k compressed transfer
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
112 syntax.
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
113
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
114 The advantages of using DICOMweb over the default DICOM JSON are:
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
115
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
116 * More standard-compliant.
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
117
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118 * The OHIF study list is accessible, notably as a button on the
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
119 welcome screen of Orthanc Explorer. The study list is not available
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
120 if using the DICOM JSON data source.
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
121
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
122 * No additional space is used in the Orthanc database.
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
123
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
124 Here is a minimal configuration file to use DICOMweb::
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
125
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
126 {
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
127 "Plugins" : [
956
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 955
diff changeset
128 "/home/user/orthanc-ohif/Build/libOrthancOHIF.so",
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 955
diff changeset
129 "/home/user/orthanc-dicomweb/Build/libOrthancDicomWeb.so"
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
130 ],
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
131 "OHIF" : {
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132 "DataSource" : "dicom-web"
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
133 }
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134 }
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
135
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
136
954
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
137 User configuration of OHIF
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
138 ^^^^^^^^^^^^^^^^^^^^^^^^^^
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
139
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
140 .. highlight:: json
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
141
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
142 OHIF comes with a number of `configuration options
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
143 <https://v3-docs.ohif.org/configuration/configurationfiles/#configuration-options>`__
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
144 that can be fine-tuned by the user. User settings can be injected
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
145 using the ``UserConfiguration`` option as follows::
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
146
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
147 {
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
148 "Plugins" : [
956
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 955
diff changeset
149 "/home/user/orthanc-ohif/Build/libOrthancOHIF.so"
954
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
150 ],
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
151 "OHIF" : {
955
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 954
diff changeset
152 "UserConfiguration" : "ohif.js"
954
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
153 }
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
154 }
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
155
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
156 .. highlight:: javascript
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
157
955
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 954
diff changeset
158 A minimal ``ohif.js`` would be::
954
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
159
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
160 window.config = {
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
161 extensions: [],
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
162 modes: []
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
163 }
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
164
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
165 Note that the following configuration options will be overridden by
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
166 the OHIF plugin to properly configure the data source and the
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
167 integration with the Orthanc Web server:
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
168
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
169 * ``window.config.dataSources``
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
170 * ``window.config.defaultDataSourceName``
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
171 * ``window.config.routerBasename``
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
172 * ``window.config.showStudyList`` (set to ``false`` if using the DICOM
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
173 JSON data source)
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
174
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
175
965
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
176 .. _ohif-router-basename:
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
177
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
178 Router basename
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
179 ^^^^^^^^^^^^^^^
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
180
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
181 .. highlight:: json
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
182
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
183 If Orthanc is not branched at the root of a Web server thanks of the
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
184 presence of a reverse proxy, the configuration option
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
185 ``RouterBasename`` must be adapted.
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
186
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
187 For instance, if Orthanc is running at address
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
188 ``https://host.com/imaging/demo/orthanc/``, the following
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
189 configuration file must be used for OHIF to work::
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
190
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
191 {
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
192 "Plugins" : [
956
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 955
diff changeset
193 "/home/user/orthanc-ohif/Build/libOrthancOHIF.so"
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
194 ],
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
195 "OHIF" : {
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
196 "RouterBasename" : "/imaging/demo/orthanc/ohif/"
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
197 }
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
198 }
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
199
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
200 The default value of ``RouterBasename`` is ``/ohif/``.
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
201
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
202
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
203 .. _ohif-preloading:
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
204
952
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
205 Preloading
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
206 ^^^^^^^^^^
4a76327e83fb started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
207
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
208 .. highlight:: json
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
209
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
210 If using the DICOM JSON data source, whenever a new DICOM instance is
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
211 received by Orthanc, the OHIF plugin will compute a summary of the
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
212 DICOM tags of interest to OHIF, and will store it as :ref:`metadata
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
213 <metadata>` in the Orthanc database. This process has the advantage of
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
214 speeding up even the first opening of the DICOM study by OHIF, which
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
215 probably corresponds to the expectations of most radiologists.
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
216
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
217 However, if your Orthanc deployment is focused on speed, this
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
218 preloading might be undesirable, as it slows down the ingestion of new
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
219 DICOM instances by Orthanc. Furthermore, if your Orthanc server will
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
220 contain a large number of DICOM studies that will never be displayed
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
221 using OHIF, this can result in a waste of space in the Orthanc
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
222 database because of the metadata that will be preloaded, but that will
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
223 never be read.
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
224
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
225 It is consequently possible to turn off the automated preloading
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
226 of metadata using the following configuration::
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
227
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
228 {
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
229 "Plugins" : [
956
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 955
diff changeset
230 "/home/user/orthanc-ohif/Build/libOrthancOHIF.so"
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
231 ],
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
232 "OHIF" : {
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
233 "DataSource" : "dicom-json",
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
234 "Preload" : false
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
235 }
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
236 }
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
237
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
238 If the ``Preload`` option is set to ``false``, the first display of a
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
239 DICOM study can take several seconds because of the computation of the
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
240 metadata, but subsequent displays will run much faster.
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
241
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
242 Note that preloading is only applied to the newly received instances:
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
243 The DICOM instances that were stored in the Orthanc server before the
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
244 installation of the OHIF plugin will only benefit from the
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
245 optimization starting with their second display using OHIF.
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
246
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
247
965
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
248 .. _ohif-https:
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
249
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
250 HTTPS encryption
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
251 ^^^^^^^^^^^^^^^^
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
252
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
253 .. highlight:: bash
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
254
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
255 In order to use the :ref:`built-in HTTPS encryption <https-builtin>`
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
256 of Orthanc together with the OHIF plugin, first generate a proper
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
257 X.509 certificate for the ``localhost``::
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
258
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
259 $ openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
260 -subj "/C=BE/CN=localhost" -keyout /tmp/private.key -out /tmp/certificate.crt
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
261 $ cat /tmp/private.key /tmp/certificate.crt > /tmp/certificate.pem
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
262
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
263
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
264 .. highlight:: json
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
265
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
266 Secondly, create the following configuration file::
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
267
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
268 {
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
269 "Plugins" : [
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
270 "/home/user/orthanc-ohif/Build/libOrthancOHIF.so"
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
271 ],
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
272 "SslEnabled" : true,
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
273 "SslCertificate" : "/tmp/certificate.pem",
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
274 "OHIF" : {
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
275 "DataSource" : "dicom-json",
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
276 "RouterBasename" : "/ohif/"
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
277 }
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
278 }
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
279
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
280 If more complex scenarios with reverse proxies are involved, make sure
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
281 to properly setup :ref:`CORS in your reverse proxy <nginx-cors>` and
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
282 to :ref:`adapt the router basename <ohif-router-basename>`. If you
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
283 face difficulties, while the simple setup with the built-in HTTPS
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
284 encryption described above works, your issue is related to OHIF, so
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
285 please get in touch with the `OHIF community
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
286 <https://ohif.org/collaborate>`__.
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
287
dfd33c9624d8 HTTPS encryption with OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 956
diff changeset
288
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
289 For developers
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
290 --------------
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
291
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
292 Extensions to the REST API
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
293 ^^^^^^^^^^^^^^^^^^^^^^^^^^
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
294
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
295 .. highlight:: bash
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
296
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
297 The content of the `DICOM JSON data source
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
298 <https://v3-docs.ohif.org/configuration/datasources/dicom-json/>`__
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
299 for a DICOM study of interest can be retrieved as follows::
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
300
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
301 $ curl http://demo.orthanc-server.com/studies/6b9e19d9-62094390-5f9ddb01-4a191ae7-9766b715/ohif-dicom-json
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
302
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
303 This data source is constructed from the :ref:`metadata 4202
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
304 <registry>` associated with the individual DICOM instances of the
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
305 DICOM study. The metadata corresponds to the `Base64 encoding
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
306 <https://en.wikipedia.org/wiki/Base64>`__ of a gzipped JSON file. For
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
307 debugging, the JSON file associated with a DICOM instance can be
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
308 inspected using::
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
309
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
310 $ curl http://demo.orthanc-server.com/instances/1f3c00bd-49df10b7-f416a598-1b3bb5a2-cb791b52/metadata/4202 | base64 -d | gunzip -c
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
311
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
312
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
313 Preloading existing studies
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
314 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
315
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
316 :ref:`As explained above <ohif-preloading>`, the metadata associated
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
317 with DICOM instances are only preloaded for the newly ingested DICOM
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
318 instances. Using the REST API of Orthanc, it is easy to create a
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
319 script that would preload the metadata for the already existing DICOM
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
320 studies, hereby greatly speeding up the first opening of those studies
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
321 as well.
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
322
954
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
323 This script would loop over the :ref:`the DICOM studies that are
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
324 stored by Orthanc <rest-access>` using ``GET /studies``. For each
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
325 study whose :ref:`Orthanc identifier <orthanc-ids>` is ``id``, the
19fd9eab4ec0 user configuration of OHIF
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 953
diff changeset
326 script would simply call ``GET /studies/{id}/ohif-dicom-json``.
953
2038eb1f55bb finalized ohif documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 952
diff changeset
327