Mercurial > hg > orthanc-book
annotate Sphinx/source/plugins/dicomweb.rst @ 260:f9e7036d81d0
updating DICOMweb documentation
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 27 Jun 2019 09:46:04 +0200 |
parents | 949a13b92195 |
children | 3391edf37359 |
rev | line source |
---|---|
24 | 1 .. _dicomweb: |
2 | |
3 | |
4 DICOMweb plugin | |
5 =============== | |
6 | |
30 | 7 .. contents:: |
8 | |
24 | 9 This **official** plugin extends Orthanc with support of the `DICOMweb |
10 protocols <https://en.wikipedia.org/wiki/DICOMweb>`__. More precisely, | |
11 the plugin introduces a basic, reference implementation of WADO-URI, | |
12 WADO-RS, QIDO-RS and STOW-RS, following `DICOM PS3.18 | |
25 | 13 <http://dicom.nema.org/medical/dicom/current/output/html/part18.html>`__. |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
14 The plugin simultaneously turns Orthanc into a **DICOMweb server** and |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
15 into a **DICOMweb client**. |
27 | 16 |
17 For general information, check out the `official homepage of the | |
18 plugins <http://www.orthanc-server.com/static.php?page=dicomweb>`__. | |
19 | |
20 The full standard is not implemented yet, the supported features are | |
21 `tracked in the repository | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
22 <https://bitbucket.org/sjodogne/orthanc-dicomweb/src/default/Status.txt>`__. |
30 | 23 |
24 | |
25 Compilation | |
26 ----------- | |
27 | |
28 .. highlight:: text | |
29 | |
255 | 30 The procedure to compile this plugin is similar of that for the |
30 | 31 :ref:`core of Orthanc <compiling>`. The following commands should work |
32 for every UNIX-like distribution (including GNU/Linux):: | |
33 | |
34 $ mkdir Build | |
35 $ cd Build | |
81 | 36 $ cmake .. -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Release |
30 | 37 $ make |
38 | |
39 The compilation will produce a shared library ``OrthancDicomWeb`` that | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
40 contains the DICOMweb plugin. Pre-compiled binaries for Microsoft |
30 | 41 Windows `are also available |
255 | 42 <http://www.orthanc-server.com/browse.php?path=/plugin-dicom-web>`__, |
43 and are included in the `Windows installers | |
44 <https://www.orthanc-server.com/download-windows.php>`__. A package | |
45 for `Apple's Mac OS X | |
30 | 46 <http://localhost/~jodogne/orthanc/static.php?page=download-mac>`__ is |
47 available courtesy of `Osimis <http://osimis.io/>`__. | |
48 | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
49 *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
|
50 `source distribution |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
51 <https://bitbucket.org/sjodogne/orthanc-dicomweb/src/default/Resources/BuildInstructions.txt>`__. |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
52 |
30 | 53 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
54 Installation |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
55 ------------ |
30 | 56 |
57 .. highlight:: json | |
58 | |
31
93bbfaf0e62c
worklist instructions migrated to a specific page, indexing of Osimis Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
30
diff
changeset
|
59 You of course first have to :ref:`install Orthanc <binaries>`. Once |
30 | 60 Orthanc is installed, you must change the :ref:`configuration file |
61 <configuration>` to tell Orthanc where it can find the plugin: This is | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
62 done by properly modifying the ``Plugins`` option. For GNU/Linux, you |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
63 could for instance use the following configuration file:: |
30 | 64 |
65 { | |
66 "Name" : "MyOrthanc", | |
67 [...] | |
68 "Plugins" : [ | |
69 "/home/user/OrthancDicomWeb/Build/libOrthancDicomWeb.so" | |
70 ] | |
71 } | |
72 | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
73 Or, for Windows:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
74 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
75 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
76 "Name" : "MyOrthanc", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
77 [...] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
78 "Plugins" : [ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
79 "c:/Temp/OrthancDicomWeb.dll" |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
80 ] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
81 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
82 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
83 Note that the DICOMweb server will share all the parameters of the |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
84 Orthanc HTTP server, notably wrt. authentication and HTTPS |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
85 encryption. For this reason, you will most probably have to enable the |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
86 remote access to the Orthanc HTTP server:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
87 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
88 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
89 [...] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
90 "RemoteAccessEnabled" : true, |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
91 [...] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
92 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
93 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
94 Once Orthanc has restarted, the root of the DICOMweb REST API is |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
95 accessible at ``http://localhost:8042/dicom-web/``. |
30 | 96 |
97 | |
98 Options | |
99 ------- | |
100 | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
101 Server-related options |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
102 ^^^^^^^^^^^^^^^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
103 |
30 | 104 .. highlight:: json |
105 | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
106 There are several configuration options that can be set to fine-tune |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
107 the Orthanc DICOMweb server. Here is the full list of the available |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
108 options, all of them must be grouped inside the ``DicomWeb`` section of |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
109 the Orthanc configuration file:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
110 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
111 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
112 [...] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
113 "DicomWeb" : { |
130
a266cfb9930f
new option QidoCaseSensitive in DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
89
diff
changeset
|
114 "Enable" : true, // Whether DICOMweb support is enabled |
a266cfb9930f
new option QidoCaseSensitive in DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
89
diff
changeset
|
115 "Root" : "/dicom-web/", // Root URI of the DICOMweb API (for QIDO-RS, STOW-RS and WADO-RS) |
a266cfb9930f
new option QidoCaseSensitive in DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
89
diff
changeset
|
116 "EnableWado" : true, // Whether WADO-URI (previously known as WADO) support is enabled |
a266cfb9930f
new option QidoCaseSensitive in DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
89
diff
changeset
|
117 "WadoRoot" : "/wado", // Root URI of the WADO-URI (aka. WADO) API |
a266cfb9930f
new option QidoCaseSensitive in DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
89
diff
changeset
|
118 "Ssl" : false, // Whether HTTPS should be used for subsequent WADO-RS requests |
243 | 119 "QidoCaseSensitive" : true, // For QIDO-RS server, whether search is case sensitive (since release 0.5) |
120 "Host" : "localhost" // Hard-codes the name of the host for subsequent WADO-RS requests (deprecated) | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
121 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
122 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
123 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
124 Furthermore, the global option ``DefaultEncoding`` specifies the |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
125 encoding (specific character set) that will be used when answering a |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
126 QIDO-RS request. It might be a good idea to set this option to |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
127 ``Utf8`` if you are dealing with an international environment. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
128 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
129 The following configuration options were present in releases <= 0.6 of the plugin, |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
130 but are not used anymore:: |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
131 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
132 { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
133 [...] |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
134 "DicomWeb" : { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
135 "StowMaxInstances" : 10, // For STOW-RS client, the maximum number of instances in one single HTTP query (0 = no limit) |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
136 "StowMaxSize" : 10, // For STOW-RS client, the maximum size of the body in one single HTTP query (in MB, 0 = no limit) |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
137 } |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
138 } |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
139 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
140 These older configuration options were used to limit the size of the |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
141 HTTP requests, by issuing multiple calls to STOW-RS (set both options |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
142 to 0 to send one single request). |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
143 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
144 |
243 | 145 **Remark:** The option ``Host`` is deprecated. Starting with release |
146 0.7 of the DICOMweb plugin, its value are computed from the standard | |
147 HTTP headers ``Forwarded`` and ``Host``, as provided by the HTTP | |
148 clients. | |
149 | |
150 | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
151 |
255 | 152 .. _dicomweb-client-config: |
153 | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
154 Client-related options |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
155 ^^^^^^^^^^^^^^^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
156 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
157 .. highlight:: json |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
158 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
159 If you want to connect Orthanc as a client to remote DICOMweb servers |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
160 (cf. below), you need to modify the configuration file so as to define |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
161 each of them in the option ``DicomWeb.Servers``. The syntax is |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
162 identical to the ``OrthancPeers`` option of the :ref:`configuration of |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
163 the Orthanc core <configuration>`. |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
164 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
165 In the most simple case, here is how to instruct Orthanc about the |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
166 existence of a password-less DICOMweb server that will be referred to |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
167 as "sample" in Orthanc:: |
30 | 168 |
169 { | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
170 [...] |
30 | 171 "DicomWeb" : { |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
172 "Servers" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
173 "sample" : [ "http://192.168.1.1/dicom-web/" ] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
174 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
175 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
176 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
177 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
178 You are of course free to add as many DICOMweb servers as you need. If |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
179 the DICOMweb server is protected by a password (with `HTTP Basic |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
180 access authentication |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
181 <https://en.wikipedia.org/wiki/Basic_access_authentication>`__):: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
182 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
183 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
184 [...] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
185 "DicomWeb" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
186 "Servers" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
187 "sample" : [ "http://192.168.1.1/dicom-web/", "username", "password" ] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
188 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
189 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
190 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
191 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
192 Two important options can be provided for individual remote DICOMweb servers: |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
193 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
194 * ``HasDelete`` can be set to ``true`` to indicate that the HTTP |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
195 DELETE method can be used to delete remote studies/series/instances. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
196 This notably adds a "delete" button on the Web interface of the |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
197 DICOMweb client, and creates a route |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
198 ``/dicom-web/servers/sample/delete`` in the REST API. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
199 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
200 * ``ChunkedTransfers`` must be set to ``false`` if the remote DICOMweb |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
201 server does not support `HTTP chunked transfer encoding |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
202 <https://en.wikipedia.org/wiki/Chunked_transfer_encoding>`__. Setting |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
203 this option to ``true`` is the best choice to reduce memory |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
204 consumption. However, it must be set to ``false`` if the remote |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
205 DICOMweb server is Orthanc <= 1.5.6, as chunked transfer encoding is |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
206 only supported starting with Orthanc 1.5.7. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
207 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
208 You'll have to convert the JSON array into a JSON object to set these |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
209 options:: |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
210 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
211 { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
212 [...] |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
213 "DicomWeb" : { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
214 "Servers" : { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
215 "sample" : { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
216 "Url" : "http://192.168.1.1/dicom-web/", |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
217 "Username" : "username", |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
218 "Password" : "password", |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
219 "HasDelete" : true, |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
220 "ChunkedTransfers" : true // Set to "false" if "sample" is Orthanc <= 1.5.6 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
221 } |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
222 } |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
223 } |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
224 } |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
225 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
226 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
227 Furthermore, if the DICOMweb server is protected with HTTPS client |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
228 authentication, you must provide your client certificate (in the `PEM |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
229 format |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
230 <https://en.wikipedia.org/wiki/Privacy-enhanced_Electronic_Mail>`__), |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
231 your client private key (also in the PEM format), together with the |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
232 password protecting the private key:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
233 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
234 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
235 [...] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
236 "DicomWeb" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
237 "Servers" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
238 "sample" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
239 "Url" : "http://192.168.1.1/dicom-web/", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
240 "CertificateFile" : "client.crt", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
241 "CertificateKeyFile" : "client.key", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
242 "CertificateKeyPassword" : "password" |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
243 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
244 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
245 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
246 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
247 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
248 Finally, it is also possible to use client authentication with |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
249 hardware security modules and smart cards through `PKCS#11 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
250 <https://en.wikipedia.org/wiki/PKCS_11>`__ (this feature is only |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
251 available is the core of Orthanc was compiled with the |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
252 ``-DENABLE_PKCS11=ON`` option in CMake, and if the Orthanc |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
253 configuration file has a proper ``Pkcs11`` section):: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
254 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
255 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
256 [...] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
257 "DicomWeb" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
258 "Servers" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
259 "sample" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
260 "Url" : "http://192.168.1.1/dicom-web/", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
261 "Pkcs11" : true |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
262 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
263 } |
30 | 264 } |
265 } | |
266 | |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
267 **Remark:** A :ref:`plugin by Osimis <google>` is available to |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
268 dynamically create authenticated connections to Google Cloud Platform. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
269 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
270 **Important remark:** When querying a DICOMweb server, Orthanc will |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
271 automatically use the global configuration options ``HttpProxy``, |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
272 ``HttpTimeout``, ``HttpsVerifyPeers``, ``HttpsCACertificates``, and |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
273 ``Pkcs11``. Make sure to adapt them if need be. |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
274 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
275 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
276 Quickstart - DICOMweb client |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
277 ---------------------------- |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
278 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
279 Starting with version 1.0 of the DICOMweb plugin, a Web interface is |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
280 provided to use Orthanc as a DICOMweb client. Simply click on the |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
281 "Open DICOMweb client" button at the bottom of the welcome screen of |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
282 :ref:`Orthanc Explorer <orthanc-explorer>`. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
283 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
284 Here is a direct link to the DICOMweb client running on our demo |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
285 server: |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
286 `http://demo.orthanc-server.com/dicom-web/app/client/index.html |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
287 <http://demo.orthanc-server.com/dicom-web/app/client/index.html>`__ |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
288 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
289 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
290 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
291 Quickstart - DICOMweb server |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
292 ---------------------------- |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
293 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
294 Once your Orthanc server is properly configured (see above), you can |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
295 make REST calls to the API of the DICOMweb server. For demonstration |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
296 purpose, this section makes the assumption that the ``VIX`` dataset |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
297 provided by `OsiriX <http://www.osirix-viewer.com/datasets/>`__ has |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
298 been uploaded to Orthanc. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
299 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
300 WADO-URI |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
301 ^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
302 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
303 .. highlight:: text |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
304 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
305 Here is a proper WADO-URI (previously known simply as WADO) request to |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
306 render one slice of the VIX dataset as a JPEG image:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
307 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
308 http://localhost:8042/wado?objectUID=1.3.12.2.1107.5.1.4.54693.30000006100507010800000005466&requestType=WADO |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
309 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
310 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
311 .. highlight:: bash |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
312 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
313 The ``objectUID`` corresponds to the ``SOPInstanceUID`` DICOM tag of |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
314 some instance in the ``VIX`` dataset. Given the Orthanc identifier of |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
315 an instance from VIX |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
316 (e.g. ``14b4db2c-065edecb-6a767936-7068293a-92fcb080``), the latter |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
317 tag can be obtained from the ``MainDicomTags`` field:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
318 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
319 $ curl http://localhost:8042/instances/14b4db2c-065edecb-6a767936-7068293a-92fcb080 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
320 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
321 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
322 QIDO-RS |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
323 ^^^^^^^ |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
324 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
325 .. highlight:: bash |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
326 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
327 Regarding QIDO-RS (querying the content of a remote DICOMweb server), |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
328 here is how to obtain the list of studies stored by Orthanc:: |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
329 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
330 $ curl http://localhost:8042/dicom-web/studies |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
331 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
332 Note that the ``/dicom-web/`` prefix comes from the configuration |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
333 option ``Root`` of the ``DicomWeb`` section. Filtering the studies is |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
334 possible as follows:: |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
335 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
336 $ curl http://localhost:8042/dicom-web/studies?PatientName=VIX |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
337 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
338 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
339 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
340 WADO-RS |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
341 ^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
342 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
343 A study can be retrieved through WADO-RS. Here is a sample:: |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
344 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
345 $ curl http://localhost:8042/dicom-web/studies/2.16.840.1.113669.632.20.1211.10000315526/ |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
346 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
347 This answer is a `multipart stream |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
348 <https://en.wikipedia.org/wiki/MIME#Multipart_messages>`__ of |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
349 ``application/dicom`` DICOM instances, so a Web browser will not be |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
350 able to display it (. You will have to use either AJAX (JavaScript) or a |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
351 command-line tool (such as cURL). |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
352 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
353 You can render one individual frame as a plain PNG image as follows:: |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
354 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
355 $ curl http://localhost:8042/dicom-web/studies/2.16.840.1.113669.632.20.1211.10000315526/series/1.3.12.2.1107.5.1.4.54693.30000006100507010800000005268/instances/1.3.12.2.1107.5.1.4.54693.30000006100507010800000005466/frames/1/rendered -H 'accept: image/png' |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
356 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
357 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
358 Other endpoints |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
359 ^^^^^^^^^^^^^^^ |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
360 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
361 This page only provides some very basic examples about the use of a |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
362 DICOMweb server. Please check out `the full reference of the DICOMweb |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
363 API <https://www.dicomstandard.org/dicomweb/>`__ for more information. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
364 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
365 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
366 |
238 | 367 .. _dicomweb-client: |
368 | |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
369 REST API of the Orthanc DICOMweb client |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
370 --------------------------------------- |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
371 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
372 Listing the available servers |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
373 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
374 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
375 .. highlight:: bash |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
376 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
377 The list of the remote DICOMweb servers that are known to the DICOMweb |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
378 plugin can be obtained as follows:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
379 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
380 $ curl http://localhost:8042/dicom-web/servers/ |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
381 [ "sample" ] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
382 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
383 In this case, a single server called ``sample`` is configured. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
384 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
385 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
386 Making a call to QIDO-RS or WADO-RS |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
387 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
388 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
389 .. highlight:: bash |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
390 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
391 In Orthanc, the URI ``/{dicom-web-root}/servers/{name}/get`` allows to |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
392 make a HTTP GET call against a DICOMweb server. This can be used to |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
393 issue a QIDO-RS or WADO-RS command. Orthanc will take care of properly |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
394 encoding the URL and authenticating the client. For instance, here is |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
395 a sample QIDO-RS search to query all the studies (using a bash |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
396 command-line):: |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
397 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
398 $ curl http://localhost:8042/dicom-web/servers/sample/get -d @- << EOF |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
399 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
400 "Uri" : "/studies" |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
401 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
402 EOF |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
403 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
404 The result of this call is a JSON document formatted according to the |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
405 DICOMweb standard. You do not have to specify the base URL of the |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
406 remote DICOMweb server, as it is encoded in the configuration file. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
407 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
408 As a more advanced example, here is how to search all the series |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
409 associated with a given patient name, while requesting to use an XML |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
410 format:: |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
411 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
412 $ curl http://localhost:8042/dicom-web/servers/sample/get -d @- << EOF |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
413 { |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
414 "Uri" : "/series", |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
415 "HttpHeaders" : { |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
416 "Accept" : "application/dicom+xml" |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
417 }, |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
418 "Arguments" : { |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
419 "00100010" : "KNIX" |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
420 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
421 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
422 EOF |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
423 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
424 The result of the command above is a `multipart stream |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
425 <https://en.wikipedia.org/wiki/MIME#Multipart_messages>`__ of XML |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
426 documents describing each series. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
427 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
428 Note how all the GET arguments to the QIDO-RS request must be |
89
c9a33e4a0577
fix mixup between HttpArguments and HttpHeaders in WADO-RS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
429 specified in the ``Arguments`` field. Orthanc will take care of |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
430 `properly encoding it as an URL |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
431 <https://en.wikipedia.org/wiki/Percent-encoding>`__. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
432 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
433 An user-friendly reference of the features available in QIDO-RS and |
33 | 434 WADO-RS `can be found on this site <http://www.dicomweb.org/>`__. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
435 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
436 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
437 Sending DICOM resources to a STOW-RS server |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
438 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
439 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
440 .. highlight:: bash |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
441 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
442 STOW-RS allows to send local DICOM resources to a remote DICOMweb |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
443 server. In Orthanc, the STOW-RS client primitive is available at URI |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
444 ``/{dicom-web-root}/servers/{name}/stow``. Here is a sample call:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
445 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
446 $ curl http://localhost:8042/dicom-web/servers/sample/stow -X POST -d @- << EOF |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
447 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
448 "Resources" : [ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
449 "6ca4c9f3-5e895cb3-4d82c6da-09e060fe-9c59f228" |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
450 ] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
451 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
452 EOF |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
453 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
454 Note that this primitive takes as its input a list of :ref:`Orthanc |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
455 identifiers <orthanc-ids>` corresponding to the resources (patients, |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
456 studies, series and/or instances) to be exported. |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
457 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
458 Additional HTTP headers can be added with an optional ``HttpHeaders`` |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
459 argument as for QIDO-RS and WADO-RS. This might be useful e.g. for |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
460 cookie-based session management. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
461 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
462 Internally, this call results in creating an :ref:`Orthanc job <job>` |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
463 that is executed synchronously (the REST call only returns once the |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
464 STOW-RS request is finished). You can run the job in asynchronous |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
465 mode as follows:: |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
466 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
467 $ curl http://localhost:8042/dicom-web/servers/sample/stow -X POST -d @- << EOF |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
468 { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
469 "Resources" : [ |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
470 "6ca4c9f3-5e895cb3-4d82c6da-09e060fe-9c59f228" |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
471 ], |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
472 "Synchronous" : false, |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
473 "Priority" : 10 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
474 } |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
475 EOF |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
476 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
477 { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
478 "ID" : "a7bd2a5c-291d-4ca5-977a-66502cab22a1", |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
479 "Path" : ".././../jobs/a7bd2a5c-291d-4ca5-977a-66502cab22a1" |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
480 } |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
481 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
482 Such a call ends immediately, and returns the ID of the job created by |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
483 Orthanc. The :ref:`status of the job <jobs-monitoring>` can then be |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
484 monitored using the Orthanc REST API. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
485 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
486 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
487 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
488 Retrieving DICOM resources from a WADO-RS server |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
489 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
490 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
491 .. highlight:: bash |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
492 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
493 Once DICOM resources of interest have been identified through a |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
494 QIDO-RS call to a remote DICOMweb server (cf. above), it is |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
495 interesting to download them locally with a WADO-RS call. You could do |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
496 it manually with a second call to the |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
497 ``/{dicom-web-root}/servers/{name}/get`` URI, but Orthanc provides |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
498 another primitive ``.../retrieve`` to automate this process, in order |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
499 to avoid the manual parsing of the multipart stream. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
500 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
501 Here is how you would download one study, one series and one instance |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
502 whose StudyInstanceUID (0020,000d), SeriesInstanceUID (0020,000e) are |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
503 SOPInstanceUID (0008,0018) have been identified through a former |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
504 QIDO-RS call:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
505 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
506 $ curl http://localhost:8042/dicom-web/servers/sample/retrieve -X POST -d @- << EOF |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
507 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
508 "Resources" : [ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
509 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
510 "Study" : "1.3.51.0.1.1.192.168.29.133.1688840.1688819" |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
511 }, |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
512 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
513 "Study" : "1.3.51.0.1.1.192.168.29.133.1681753.1681732", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
514 "Series" : "1.3.12.2.1107.5.2.33.37097.2012041613040617636372171.0.0.0" |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
515 }, |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
516 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
517 "Study" : "1.3.51.0.1.1.192.168.29.133.1681753.1681732", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
518 "Series" : "1.3.12.2.1107.5.2.33.37097.2012041612474981424569674.0.0.0", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
519 "Instance" : "1.3.12.2.1107.5.2.33.37097.2012041612485540185869716" |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
520 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
521 ] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
522 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
523 EOF |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
524 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
525 Orthanc will reply with the list of the Orthanc identifiers of all the |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
526 DICOM instances that were downloaded from the remote server. |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
527 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
528 Remark 1: Contrarily to the ``.../stow`` URI that uses :ref:`Orthanc |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
529 identifiers <orthanc-ids>`, the ``.../retrieve`` URI uses DICOM |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
530 identifiers. |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
531 |
89
c9a33e4a0577
fix mixup between HttpArguments and HttpHeaders in WADO-RS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
532 Remark 2: The ``HttpHeaders`` and ``Arguments`` arguments are also |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
533 available, as for QIDO-RS, to fine-tune the parameters of the WADO-RS |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
534 request. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
535 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
536 Remark 3: As for QIDO-RS, the request is run synchronously by default. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
537 The ``Synchronous`` and ``Priority`` arguments can be used to |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
538 asynchronously run the request. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
539 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
540 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
541 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
542 Additional samples |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
543 ------------------ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
544 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
545 Samples of how to call DICOMweb services from standalone applications |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
546 are available for `Python |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
547 <https://bitbucket.org/sjodogne/orthanc-dicomweb/src/default/Resources/Samples/Python/>`__ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
548 and for `JavaScript |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
549 <https://bitbucket.org/sjodogne/orthanc-dicomweb/src/default/Resources/Samples/JavaScript>`__. |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
550 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
551 Integration tests are `available separately |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
552 <https://bitbucket.org/sjodogne/orthanc-tests/src/default/Plugins/DicomWeb/Run.py>`__, |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
553 and provide samples for more advanced features of the REST API (such |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
554 as dynamically adding/updating/removing remote DICOMweb servers using |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
555 HTTP PUT and DELETE methods). |