Mercurial > hg > orthanc-book
annotate Sphinx/source/plugins/dicomweb.rst @ 349:60080d792f25
rephrasing
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 27 Mar 2020 18:21:55 +0100 |
parents | c94074bbf7aa |
children | 011b01ccf52d |
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 | |
318
83d822f11e78
SeriesMetadata and StudiesMetadata in DICOMweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
311
diff
changeset
|
101 |
83d822f11e78
SeriesMetadata and StudiesMetadata in DICOMweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
311
diff
changeset
|
102 .. _dicomweb-server-config: |
83d822f11e78
SeriesMetadata and StudiesMetadata in DICOMweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
311
diff
changeset
|
103 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
104 Server-related options |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
105 ^^^^^^^^^^^^^^^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
106 |
30 | 107 .. highlight:: json |
108 | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
109 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
|
110 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
|
111 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
|
112 the Orthanc configuration file:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
113 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
114 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
115 [...] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
116 "DicomWeb" : { |
130
a266cfb9930f
new option QidoCaseSensitive in DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
89
diff
changeset
|
117 "Enable" : true, // Whether DICOMweb support is enabled |
a266cfb9930f
new option QidoCaseSensitive in DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
89
diff
changeset
|
118 "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
|
119 "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
|
120 "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
|
121 "Ssl" : false, // Whether HTTPS should be used for subsequent WADO-RS requests |
243 | 122 "QidoCaseSensitive" : true, // For QIDO-RS server, whether search is case sensitive (since release 0.5) |
318
83d822f11e78
SeriesMetadata and StudiesMetadata in DICOMweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
311
diff
changeset
|
123 "Host" : "localhost", // Hard-codes the name of the host for subsequent WADO-RS requests (deprecated) |
320
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
124 "StudiesMetadata" : "Full", // How study-level metadata is retrieved (since release 1.1, cf. section below) |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
125 "SeriesMetadata" : "Full" // How series-level metadata is retrieved (since release 1.1, cf. section below) |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
126 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
127 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
128 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
129 Furthermore, the global option ``DefaultEncoding`` specifies the |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
130 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
|
131 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
|
132 ``Utf8`` if you are dealing with an international environment. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
133 |
318
83d822f11e78
SeriesMetadata and StudiesMetadata in DICOMweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
311
diff
changeset
|
134 **Remark 1:** The following configuration options were present in |
83d822f11e78
SeriesMetadata and StudiesMetadata in DICOMweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
311
diff
changeset
|
135 releases <= 0.6 of the plugin, but are not used anymore:: |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
136 |
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 "DicomWeb" : { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
140 "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
|
141 "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
|
142 } |
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 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
145 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
|
146 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
|
147 to 0 to send one single request). |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
148 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
149 |
318
83d822f11e78
SeriesMetadata and StudiesMetadata in DICOMweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
311
diff
changeset
|
150 **Remark 2:** The option ``Host`` is deprecated. Starting with release |
243 | 151 0.7 of the DICOMweb plugin, its value are computed from the standard |
152 HTTP headers ``Forwarded`` and ``Host``, as provided by the HTTP | |
153 clients. | |
154 | |
155 | |
320
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
156 .. _dicomweb-server-metadata-config: |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
157 |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
158 Fine-tuning server for WADO-RS Retrieve Metadata |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
159 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
160 |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
161 The options ``StudiesMetadata`` and ``SeriesMetadata`` were introduced |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
162 in release 1.1 of the DICOMweb plugin. These options specify how the |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
163 calls to ``/dicom-web/studies/.../metadata`` and |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
164 ``/dicom-web/studies/.../series/.../metadata`` (i.e. `WADO-RS Retrieve |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
165 Metadata |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
166 <http://dicom.nema.org/medical/dicom/2019a/output/chtml/part18/sect_6.5.6.html>`__) |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
167 are processed: |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
168 |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
169 * If ``Full`` mode is used, the plugin will read all the DICOM |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
170 instances of the study/series of interest from the :ref:`storage |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
171 area <orthanc-storage>`, which gives fully accurate results but |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
172 requires all the individual instances to be read and parsed from the |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
173 filesystem, leading to slow performance (cf. `issue 162 |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
174 <https://bitbucket.org/sjodogne/orthanc/issues/162/dicomweb-metadata-resource-reads-all>`__). |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
175 This is the default mode. |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
176 |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
177 * If ``MainDicomTags`` mode is used, the plugin will only report the |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
178 main DICOM tags that are indexed by the Orthanc database. The DICOM |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
179 files are not read from the disk, which provides best |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
180 performance. However, this is a small subset of all the tags that |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
181 would be retrieved if using the ``Full`` mode: A DICOMweb viewer |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
182 might need more tags. |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
183 |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
184 * If ``Extrapolate`` mode is used, the plugin will read up to 3 DICOM |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
185 instances at random that belong to the study/series of interest. It |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
186 will then test whether the majority of these instances share the |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
187 same value for a predefined subset of DICOM tags. If so, this value |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
188 is added to the metadata response; otherwise, the tag is not |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
189 reported. In other words, this mode extrapolates the value of some |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
190 predefined tags by assuming that these tags should be constant |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
191 across all the instances of the study/series. This mode is a |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
192 compromise between ``MainDicomTags`` (focus on speed) and ``Full`` |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
193 (focus on accuracy). |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
194 |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
195 * If you are using a DICOMweb viewer (such as forthcoming Stone Web |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
196 viewer or `OHIF viewer |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
197 <https://groups.google.com/d/msg/orthanc-users/y1N5zOFVk0M/a3YMdhNqBwAJ>`__) |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
198 in a setup where performance and accuracy are both important, you |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
199 should most probably set ``StudiesMetadata`` to ``MainDicomTags`` |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
200 and ``SeriesMetadata`` to ``Full``. Forthcoming Stone Web viewer |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
201 will probably specify a value for the |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
202 ``SeriesMetadataExtrapolatedTags`` option to be used for setups |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
203 where performance is extremely important. |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
204 |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
205 |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
206 If using the ``Extrapolate`` mode, the predefined tags are provided |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
207 using the ``StudiesMetadataExtrapolatedTags`` and |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
208 ``SeriesMetadataExtrapolatedTags`` configuration options as follows:: |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
209 |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
210 { |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
211 [...] |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
212 "DicomWeb" : { |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
213 [...] |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
214 "StudiesMetadata" : "Extrapolate", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
215 "StudiesMetadataExtrapolatedTags" : [ |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
216 "AcquisitionDate" |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
217 ], |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
218 "SeriesMetadata" : "Extrapolate", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
219 "SeriesMetadataExtrapolatedTags" : [ |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
220 "BitsAllocated", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
221 "BitsStored", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
222 "Columns", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
223 "HighBit", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
224 "PhotometricInterpretation", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
225 "PixelSpacing", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
226 "PlanarConfiguration", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
227 "RescaleIntercept", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
228 "RescaleSlope", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
229 "Rows", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
230 "SOPClassUID", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
231 "SamplesPerPixel", |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
232 "SliceThickness" |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
233 ] |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
234 } |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
235 } |
42104307e838
"Extrapolate" mode of DICOMweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
318
diff
changeset
|
236 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
237 |
255 | 238 .. _dicomweb-client-config: |
239 | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
240 Client-related options |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
241 ^^^^^^^^^^^^^^^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
242 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
243 .. highlight:: json |
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 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
|
246 (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
|
247 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
|
248 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
|
249 the Orthanc core <configuration>`. |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
250 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
251 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
|
252 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
|
253 as "sample" in Orthanc:: |
30 | 254 |
255 { | |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
256 [...] |
30 | 257 "DicomWeb" : { |
32
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" : [ "http://192.168.1.1/dicom-web/" ] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
260 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
261 } |
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 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
264 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
|
265 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
|
266 access authentication |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
267 <https://en.wikipedia.org/wiki/Basic_access_authentication>`__):: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
268 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
269 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
270 [...] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
271 "DicomWeb" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
272 "Servers" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
273 "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
|
274 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
275 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
276 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
277 |
324
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
278 Three important options can be provided for individual remote DICOMweb servers: |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
279 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
280 * ``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
|
281 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
|
282 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
|
283 DICOMweb client, and creates a route |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
284 ``/dicom-web/servers/sample/delete`` in the REST API. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
285 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
286 * ``ChunkedTransfers`` must be set to ``false`` if the remote DICOMweb |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
287 server does not support `HTTP chunked transfer encoding |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
288 <https://en.wikipedia.org/wiki/Chunked_transfer_encoding>`__. Setting |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
289 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
|
290 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
|
291 DICOMweb server is Orthanc <= 1.5.6, as chunked transfer encoding is |
325
c94074bbf7aa
note about issue 156
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
324
diff
changeset
|
292 only supported starting with Orthanc 1.5.7. Beware setting |
c94074bbf7aa
note about issue 156
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
324
diff
changeset
|
293 ``ChunkedTransfers`` to ``true`` in Orthanc 1.5.7 and 1.5.8 utilizes |
c94074bbf7aa
note about issue 156
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
324
diff
changeset
|
294 one CPU at 100%, which results in very low throughput: This issue is |
c94074bbf7aa
note about issue 156
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
324
diff
changeset
|
295 resolved in Orthanc 1.6.0 (cf. `issue 156 |
c94074bbf7aa
note about issue 156
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
324
diff
changeset
|
296 <https://bitbucket.org/sjodogne/orthanc/issues/156/>`__ for full |
c94074bbf7aa
note about issue 156
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
324
diff
changeset
|
297 explanation). |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
298 |
324
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
299 * ``HasWadoRsUniversalTransferSyntax`` (new in DICOMweb 1.1) must be |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
300 set to ``false`` if the remote DICOMweb server does not support the |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
301 value ``transfer-syntax=*`` in the ``Accept`` HTTP header for |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
302 WADO-RS requests. This option is notably needed if the remote |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
303 DICOMweb server is Orthanc equipped with DICOMweb plugin <= 1.0. On |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
304 the other hand, setting this option to ``true`` prevents the remote |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
305 DICOMweb server from transcoding to uncompressed transfer syntaxes, |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
306 which gives `much better performance |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
307 <https://groups.google.com/d/msg/orthanc-users/w1Ekrsc6-U8/T2a_DoQ5CwAJ>`__. |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
308 The implicit value of this parameter was ``false`` in DICOMweb |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
309 plugin <= 1.0, and its default value is ``true`` since DICOMweb |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
310 plugin 1.1. |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
311 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
312 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
|
313 options:: |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
314 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
315 { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
316 [...] |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
317 "DicomWeb" : { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
318 "Servers" : { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
319 "sample" : { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
320 "Url" : "http://192.168.1.1/dicom-web/", |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
321 "Username" : "username", |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
322 "Password" : "password", |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
323 "HasDelete" : true, |
324
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
324 "ChunkedTransfers" : true, // Set to "false" if "sample" is Orthanc <= 1.5.6 |
89d4ee2e6e6e
documentation of "HasWadoRsUniversalTransferSyntax" in DICOMweb client
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
320
diff
changeset
|
325 "HasWadoRsUniversalTransferSyntax" : true // Set to "false" if "sample" is Orthanc DICOMweb plugin <= 1.0 |
260
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 } |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
328 } |
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 |
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 Furthermore, if the DICOMweb server is protected with HTTPS client |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
333 authentication, you must provide your client certificate (in the `PEM |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
334 format |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
335 <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
|
336 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
|
337 password protecting the private key:: |
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 [...] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
341 "DicomWeb" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
342 "Servers" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
343 "sample" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
344 "Url" : "http://192.168.1.1/dicom-web/", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
345 "CertificateFile" : "client.crt", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
346 "CertificateKeyFile" : "client.key", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
347 "CertificateKeyPassword" : "password" |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
348 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
349 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
350 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
351 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
352 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
353 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
|
354 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
|
355 <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
|
356 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
|
357 ``-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
|
358 configuration file has a proper ``Pkcs11`` section):: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
359 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
360 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
361 [...] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
362 "DicomWeb" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
363 "Servers" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
364 "sample" : { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
365 "Url" : "http://192.168.1.1/dicom-web/", |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
366 "Pkcs11" : true |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
367 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
368 } |
30 | 369 } |
370 } | |
371 | |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
372 **Remark:** A :ref:`plugin by Osimis <google>` is available to |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
373 dynamically create authenticated connections to Google Cloud Platform. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
374 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
375 **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
|
376 automatically use the global configuration options ``HttpProxy``, |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
377 ``HttpTimeout``, ``HttpsVerifyPeers``, ``HttpsCACertificates``, and |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
378 ``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
|
379 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
380 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
381 Quickstart - DICOMweb client |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
382 ---------------------------- |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
383 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
384 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
|
385 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
|
386 "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
|
387 :ref:`Orthanc Explorer <orthanc-explorer>`. |
32
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 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
|
390 server: |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
391 `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
|
392 <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
|
393 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
394 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
395 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
396 Quickstart - DICOMweb server |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
397 ---------------------------- |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
398 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
399 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
|
400 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
|
401 purpose, this section makes the assumption that the ``VIX`` dataset |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
402 provided by `OsiriX <http://www.osirix-viewer.com/datasets/>`__ has |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
403 been uploaded to Orthanc. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
404 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
405 WADO-URI |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
406 ^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
407 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
408 .. highlight:: text |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
409 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
410 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
|
411 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
|
412 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
413 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
|
414 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
415 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
416 .. highlight:: bash |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
417 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
418 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
|
419 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
|
420 an instance from VIX |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
421 (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
|
422 tag can be obtained from the ``MainDicomTags`` field:: |
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 $ curl http://localhost:8042/instances/14b4db2c-065edecb-6a767936-7068293a-92fcb080 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
425 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
426 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
427 QIDO-RS |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
428 ^^^^^^^ |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
429 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
430 .. highlight:: bash |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
431 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
432 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
|
433 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
|
434 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
435 $ curl http://localhost:8042/dicom-web/studies |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
436 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
437 Note that the ``/dicom-web/`` prefix comes from the configuration |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
438 option ``Root`` of the ``DicomWeb`` section. Filtering the studies is |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
439 possible as follows:: |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
440 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
441 $ curl http://localhost:8042/dicom-web/studies?PatientName=VIX |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
442 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
443 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
444 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
445 WADO-RS |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
446 ^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
447 |
311 | 448 A study can be retrieved through WADO-RS. Here is a sample using the VIX dataset:: |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
449 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
450 $ 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
|
451 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
452 This answer is a `multipart stream |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
453 <https://en.wikipedia.org/wiki/MIME#Multipart_messages>`__ of |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
454 ``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
|
455 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
|
456 command-line tool (such as cURL). |
32
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 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
|
459 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
460 $ 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
|
461 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
462 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
463 Other endpoints |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
464 ^^^^^^^^^^^^^^^ |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
465 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
466 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
|
467 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
|
468 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
|
469 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
470 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
471 |
238 | 472 .. _dicomweb-client: |
473 | |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
474 REST API of the Orthanc DICOMweb client |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
475 --------------------------------------- |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
476 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
477 Listing the available servers |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
479 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
480 .. highlight:: bash |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
481 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
482 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
|
483 plugin can be obtained as follows:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
484 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
485 $ curl http://localhost:8042/dicom-web/servers/ |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
486 [ "sample" ] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
487 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
488 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
|
489 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
490 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
491 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
|
492 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
493 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
494 .. highlight:: bash |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
495 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
496 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
|
497 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
|
498 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
|
499 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
|
500 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
|
501 command-line):: |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
502 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
503 $ 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
|
504 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
505 "Uri" : "/studies" |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
506 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
507 EOF |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
508 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
509 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
|
510 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
|
511 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
|
512 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
513 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
|
514 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
|
515 format:: |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
516 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
517 $ 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
|
518 { |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
519 "Uri" : "/series", |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
520 "HttpHeaders" : { |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
521 "Accept" : "application/dicom+xml" |
32
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 "Arguments" : { |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
524 "00100010" : "KNIX" |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
525 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
526 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
527 EOF |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
528 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
529 The result of the command above is a `multipart stream |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
530 <https://en.wikipedia.org/wiki/MIME#Multipart_messages>`__ of XML |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
531 documents describing each series. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
532 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
533 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
|
534 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
|
535 `properly encoding it as an URL |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
536 <https://en.wikipedia.org/wiki/Percent-encoding>`__. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
537 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
538 An user-friendly reference of the features available in QIDO-RS and |
33 | 539 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
|
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 Sending DICOM resources to a STOW-RS server |
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 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
545 .. highlight:: bash |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
546 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
547 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
|
548 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
|
549 ``/{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
|
550 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
551 $ 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
|
552 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
553 "Resources" : [ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
554 "6ca4c9f3-5e895cb3-4d82c6da-09e060fe-9c59f228" |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
555 ] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
556 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
557 EOF |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
558 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
559 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
|
560 identifiers <orthanc-ids>` corresponding to the resources (patients, |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
561 studies, series and/or instances) to be exported. |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
562 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
563 Additional HTTP headers can be added with an optional ``HttpHeaders`` |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
564 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
|
565 cookie-based session management. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
566 |
262 | 567 Internally, this call results in creating an :ref:`Orthanc job <jobs>` |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
568 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
|
569 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
|
570 mode as follows:: |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
571 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
572 $ 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
|
573 { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
574 "Resources" : [ |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
575 "6ca4c9f3-5e895cb3-4d82c6da-09e060fe-9c59f228" |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
576 ], |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
577 "Synchronous" : false, |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
578 "Priority" : 10 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
579 } |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
580 EOF |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
581 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
582 { |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
583 "ID" : "a7bd2a5c-291d-4ca5-977a-66502cab22a1", |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
584 "Path" : ".././../jobs/a7bd2a5c-291d-4ca5-977a-66502cab22a1" |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
585 } |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
586 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
587 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
|
588 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
|
589 monitored using the Orthanc REST API. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
590 |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
591 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
592 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
593 Retrieving DICOM resources from a WADO-RS server |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
594 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
595 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
596 .. highlight:: bash |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
597 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
598 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
|
599 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
|
600 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
|
601 it manually with a second call to the |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
602 ``/{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
|
603 another primitive ``.../retrieve`` to automate this process, in order |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
604 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
|
605 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
606 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
|
607 whose StudyInstanceUID (0020,000d), SeriesInstanceUID (0020,000e) are |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
608 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
|
609 QIDO-RS call:: |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
610 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
611 $ 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
|
612 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
613 "Resources" : [ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
614 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
615 "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
|
616 }, |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
617 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
618 "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
|
619 "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
|
620 }, |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
621 { |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
622 "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
|
623 "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
|
624 "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
|
625 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
626 ] |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
627 } |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
628 EOF |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
629 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
630 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
|
631 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
|
632 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
633 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
|
634 identifiers <orthanc-ids>`, the ``.../retrieve`` URI uses DICOM |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
635 identifiers. |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
636 |
89
c9a33e4a0577
fix mixup between HttpArguments and HttpHeaders in WADO-RS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
637 Remark 2: The ``HttpHeaders`` and ``Arguments`` arguments are also |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
638 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
|
639 request. |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
640 |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
641 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
|
642 The ``Synchronous`` and ``Priority`` arguments can be used to |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
643 asynchronously run the request. |
32
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
644 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
645 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
646 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
647 Additional samples |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
648 ------------------ |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
649 |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
650 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
|
651 are available for `Python |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
652 <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
|
653 and for `JavaScript |
03b32d0e49f2
documentation of the dicomweb plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
31
diff
changeset
|
654 <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
|
655 |
260
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
656 Integration tests are `available separately |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
657 <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
|
658 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
|
659 as dynamically adding/updating/removing remote DICOMweb servers using |
f9e7036d81d0
updating DICOMweb documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
255
diff
changeset
|
660 HTTP PUT and DELETE methods). |