annotate Sphinx/source/plugins.rst @ 556:6a3d48510b0b

Python sample: "Forbid or allow access to REST resources (authorization)", deprecating advanced authorization plugin
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 10 Dec 2020 12:45:13 +0100
parents 109c043907a1
children 6059e0d1e36e
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 .. _plugins:
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 Plugins
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 =======
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5
25
669ea65ba7fb fix links
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 24
diff changeset
6 .. contents::
669ea65ba7fb fix links
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 24
diff changeset
7
669ea65ba7fb fix links
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 24
diff changeset
8 Overview
669ea65ba7fb fix links
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 24
diff changeset
9 --------
669ea65ba7fb fix links
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 24
diff changeset
10
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 The core of Orthanc can be extended through **plugins**. A plugin
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 takes the form of a shared library (``.DLL`` under Windows, ``.so``
42
a52f1dc48ebc GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
13 under GNU/Linux, ``.dylib`` under Apple OS X...). A plugin can do
a52f1dc48ebc GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 40
diff changeset
14 various things, among others:
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 * Serving new **Web applications** that have full access to the REST
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 API of Orthanc, which makes easy to handle DICOM images from
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 JavaScript code.
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 * Replacing **the way DICOM images are decoded** (e.g. the official
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 :ref:`Web viewer plugin <webviewer>` introduces the decoding of
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 JPEG2000 images, which is not available in the core of Orthanc).
154
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 115
diff changeset
22 * Replacing the default **database back-end** of Orthanc (that is
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 115
diff changeset
23 built upon SQLite) by another (:ref:`PostgreSQL <postgresql>`,
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 115
diff changeset
24 :ref:`MySQL <mysql>`, SQL Server...).
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 * Creating **new REST APIs** on the top of the Orthanc built-in API (as in
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 in the official :ref:`DICOMweb <dicomweb>` plugin).
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 * **Reacting** to the arrival of new DICOM images or other
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 DICOM-related events so as to carry on automated processing.
25
669ea65ba7fb fix links
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 24
diff changeset
29 * ...
669ea65ba7fb fix links
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 24
diff changeset
30
669ea65ba7fb fix links
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 24
diff changeset
31 Developers external to the official Orthanc project are :ref:`invited
38
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 31
diff changeset
32 to contribute <contributing>` to the C/C++ part of Orthanc by creating
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 31
diff changeset
33 third-party plugins. A specific section of the Orthanc Book explains
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 31
diff changeset
34 :ref:`how to create new Orthanc plugins <creating-plugins>`.
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 .. _plugins-official:
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 Index of the official plugins
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 -----------------------------
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40
549
109c043907a1 documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 486
diff changeset
41 From Osimis and University Hospital of Liège
109c043907a1 documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 486
diff changeset
42 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
96
750f7ab733c1 start documentation of authorization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 93
diff changeset
43
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 .. toctree::
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 :maxdepth: 1
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46
31
93bbfaf0e62c worklist instructions migrated to a specific page, indexing of Osimis Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
47 plugins/webviewer.rst
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 plugins/dicomweb.rst
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 plugins/postgresql.rst
53
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 42
diff changeset
50 plugins/wsi.rst
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 plugins/worklists-plugin.rst
31
93bbfaf0e62c worklist instructions migrated to a specific page, indexing of Osimis Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
52 plugins/serve-folders.rst
431
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 414
diff changeset
53 plugins/gdcm.rst
549
109c043907a1 documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 486
diff changeset
54 plugins/stone-webviewer.rst
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55
229
c74f044dc3ce note about docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 203
diff changeset
56 .. _plugins-osimis:
c74f044dc3ce note about docker
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 203
diff changeset
57
96
750f7ab733c1 start documentation of authorization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 93
diff changeset
58 From Osimis
750f7ab733c1 start documentation of authorization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 93
diff changeset
59 ^^^^^^^^^^^
750f7ab733c1 start documentation of authorization
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 93
diff changeset
60
549
109c043907a1 documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 486
diff changeset
61 .. toctree::
109c043907a1 documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 486
diff changeset
62 :maxdepth: 1
109c043907a1 documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 486
diff changeset
63
109c043907a1 documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 486
diff changeset
64 plugins/mysql.rst
109c043907a1 documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 486
diff changeset
65 plugins/transfers.rst
109c043907a1 documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 486
diff changeset
66 plugins/google-cloud-platform.rst
109c043907a1 documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 486
diff changeset
67 plugins/python.rst
109c043907a1 documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 486
diff changeset
68 plugins/object-storage.rst
556
6a3d48510b0b Python sample: "Forbid or allow access to REST resources (authorization)", deprecating advanced authorization plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 549
diff changeset
69 plugins/osimis-webviewer.rst
6a3d48510b0b Python sample: "Forbid or allow access to REST resources (authorization)", deprecating advanced authorization plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 549
diff changeset
70 plugins/authorization.rst
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 .. _plugins-contributed:
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 Index of the contributed plugins
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 --------------------------------
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76
470
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
77 C/C++ plugins
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
78 ^^^^^^^^^^^^^
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
79
163
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 154
diff changeset
80 * `AWS S3 storage plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 154
diff changeset
81 <https://github.com/radpointhq/orthanc-s3-storage>`__: This plugin
358
011b01ccf52d fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 341
diff changeset
82 by `Radpoint <https://radpoint.pl/>`__ makes Orthanc store its
163
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 154
diff changeset
83 DICOM files into an `Amazon S3 bucket
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 154
diff changeset
84 <https://en.wikipedia.org/wiki/Amazon_S3>`__.
470
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
85
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86 * `DWV Orthanc Plugin
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
87 <https://github.com/ivmartel/dwv-orthanc-plugin>`__: This plugin by
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
88 Yves Martelli is based on `dwv
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89 <https://github.com/ivmartel/dwv/wiki>`__ and extends Orthanc with a
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
90 Web viewer of DICOM images.
470
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
91
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
92 * Another Web viewer is provided courtesy of `Emsy Chan
25
669ea65ba7fb fix links
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 24
diff changeset
93 <https://groups.google.com/d/msg/orthanc-users/EC5Z2KaM4Hs/MG3KkzhCDAAJ>`__.
470
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
94
358
011b01ccf52d fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 341
diff changeset
95 * `VPI Reveal <https://www.vpireveal.com/>`__ provides a plugin to
71
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 70
diff changeset
96 "write the DICOM records in a normal Windows-readable file hierarchy
70
bcd9e83dac7a index VPI Reveal
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 53
diff changeset
97 (patient-study-series-DICOM file) at a location called
bcd9e83dac7a index VPI Reveal
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 53
diff changeset
98 ``VPIStorage`` that can then be imported into VPI Reveal." `Check
71
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 70
diff changeset
99 out their source code
70
bcd9e83dac7a index VPI Reveal
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 53
diff changeset
100 <https://github.com/jodogne/OrthancContributed/tree/master/Plugins/orthancVPIRevealPlugin>`__.
470
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
101
93
a1e55e1baf38 mongodb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 71
diff changeset
102 * `Doc Cirrus <https://www.doc-cirrus.com/>`__ is working on `MongoDB
115
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 96
diff changeset
103 <https://en.wikipedia.org/wiki/MongoDB>`__ database plugins. Check
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 96
diff changeset
104 out their `source code
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 96
diff changeset
105 <https://github.com/Doc-Cirrus/orthanc-mongodb>`__ and the
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 96
diff changeset
106 `associated description
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 96
diff changeset
107 <https://github.com/jodogne/OrthancContributed/tree/master/Plugins/orthanc-mongodb>`__.
470
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
108
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
109 Python plugins
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
110 ^^^^^^^^^^^^^^
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
111
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
112 * Julian Hartig maintains a `Python plugin
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
113 <https://github.com/crispinus2/orthanc-gdt>`__ called
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
114 ``orthanc-gdt``, in order to glue Orthanc to the `GDT interface most
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
115 German AIS <https://en.wikipedia.org/wiki/XDT>`__
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
116 (Arztinformationssysteme - as opposed to e.g. the RIS used by
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
117 radiologists) use for communicating with external applications and
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
118 devices. This topic is further discussed on the `Orthanc Users forum
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
119 <https://groups.google.com/d/msg/orthanc-users/NO7MnWzKsAc/5hEVxymWBQAJ>`__.
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
120
486
5abd8869514f pagination plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 481
diff changeset
121 * Stephen Douglas Scotti maintains a `Python plugin
5abd8869514f pagination plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 481
diff changeset
122 <https://github.com/sscotti/OrthancBrowser>`__ to implement
5abd8869514f pagination plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 481
diff changeset
123 pagination on one Orthanc server.
5abd8869514f pagination plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 481
diff changeset
124
470
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
125
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
126 Other
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
127 ^^^^^
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
128
40
99b45a963bcf contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 38
diff changeset
129 * Check out the `OrthancContributed repository on GitHub
99b45a963bcf contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 38
diff changeset
130 <https://github.com/jodogne/OrthancContributed/tree/master/Plugins>`__, that
99b45a963bcf contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 38
diff changeset
131 might contain plugins that are not tracked in this list.
24
25fa874803ab plugins inside book
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132
470
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
133 * **Important:** Do not hesitate to `contact us
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
134 <https://www.orthanc-server.com/static.php?page=contact>`__ if you
90e6c20cef1e indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 451
diff changeset
135 have developed a plugin so that we can promote it in the list above!