annotate Sphinx/source/plugins/dicomweb.rst @ 30:79b6d3ea92aa

dicomweb
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 20 Jul 2016 11:13:46 +0200
parents c23f02a64caf
children 93bbfaf0e62c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 .. _dicomweb:
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 DICOMweb plugin
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 ===============
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6
30
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
7 .. contents::
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
8
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 This **official** plugin extends Orthanc with support of the `DICOMweb
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 protocols <https://en.wikipedia.org/wiki/DICOMweb>`__. More precisely,
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 the plugin introduces a basic, reference implementation of WADO-URI,
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 WADO-RS, QIDO-RS and STOW-RS, following `DICOM PS3.18
25
669ea65ba7fb fix links
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 24
diff changeset
13 <http://dicom.nema.org/medical/dicom/current/output/html/part18.html>`__.
27
c23f02a64caf postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
14
c23f02a64caf postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
15 For general information, check out the `official homepage of the
c23f02a64caf postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
16 plugins <http://www.orthanc-server.com/static.php?page=dicomweb>`__.
c23f02a64caf postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
17
c23f02a64caf postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
18 The full standard is not implemented yet, the supported features are
c23f02a64caf postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
19 `tracked in the repository
c23f02a64caf postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
20 <https://bitbucket.org/sjodogne/orthanc-dicomweb/src/default/Status.txt>`__. Some
c23f02a64caf postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
21 integration tests are `available separately
c23f02a64caf postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
22 <https://bitbucket.org/sjodogne/orthanc-tests/src/default/Plugins/DicomWeb/Run.py>`__.
30
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
23
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
24
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
25 Compilation
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
26 -----------
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
27
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
28 .. highlight:: text
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
29
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
30 The procedure to compile these plugins is similar of that for the
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
31 :ref:`core of Orthanc <compiling>`. The following commands should work
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
32 for every UNIX-like distribution (including GNU/Linux)::
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
33
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
34 $ mkdir Build
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
35 $ cd Build
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
36 $ cmake .. -DSTATIC_BUILD=ON
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
37 $ make
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
38
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
39 The compilation will produce a shared library ``OrthancDicomWeb`` that
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
40 contains the DICOMweb plugin. Pre-compiled binaries for Microsoft
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
41 Windows `are also available
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
42 <http://www.orthanc-server.com/browse.php?path=/plugin-dicom-web>`__.
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
43 A package for `Apple's Mac OS X
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
44 <http://localhost/~jodogne/orthanc/static.php?page=download-mac>`__ is
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
45 available courtesy of `Osimis <http://osimis.io/>`__.
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
46
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
47
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
48 Usage
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
49 -----
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
50
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
51 .. highlight:: json
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
52
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
53 You of course first have to :ref:`install Orthanc <compiling>`. Once
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
54 Orthanc is installed, you must change the :ref:`configuration file
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
55 <configuration>` to tell Orthanc where it can find the plugin: This is
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
56 done by properly modifying the ``Plugins`` option. You could for
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
57 instance use the following configuration file::
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
58
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
59 {
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
60 "Name" : "MyOrthanc",
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
61 [...]
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
62 "Plugins" : [
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
63 "/home/user/OrthancDicomWeb/Build/libOrthancDicomWeb.so"
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
64 ]
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
65 }
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
66
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
67 The root of the DICOMweb REST API is then accessible at ``http://localhost:8042/dicom-web/``.
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
68
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
69
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
70 Options
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
71 -------
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
72
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
73 .. highlight:: json
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
74
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
75 Several configuration options are also available, and are listed in
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
76 the example below::
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
77
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
78 {
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
79 "DicomWeb" : {
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
80 "Enable" : true, // Whether DICOMweb support is enabled
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
81 "Root" : "/dicom-web/", // Root URI of the DICOMweb API (for QIDO-RS, STOW-RS and WADO-RS)
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
82 "EnableWado" : true, // Whether WADO-URI (aka. WADO) support is enabled
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
83 "WadoRoot" : "/wado", // Root URI of the WADO-URI (aka. WADO) API
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
84 "Host" : "localhost", // Hard-codes the name of the host for subsequent WADO-RS requests
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
85 "Ssl" : false // Whether HTTPS should be used for subsequent WADO-RS requests
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
86 }
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
87 }
79b6d3ea92aa dicomweb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 27
diff changeset
88