Mercurial > hg > orthanc-book
annotate Sphinx/source/plugins.rst @ 952:4a76327e83fb
started documentation of ohif plugin
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 19 Jun 2023 07:05:38 +0200 |
parents | 5491953f7492 |
children | 3b62529bfe91 |
rev | line source |
---|---|
24 | 1 .. _plugins: |
2 | |
3 Plugins | |
4 ======= | |
5 | |
25 | 6 .. contents:: |
7 | |
8 Overview | |
9 -------- | |
10 | |
24 | 11 The core of Orthanc can be extended through **plugins**. A plugin |
12 takes the form of a shared library (``.DLL`` under Windows, ``.so`` | |
42 | 13 under GNU/Linux, ``.dylib`` under Apple OS X...). A plugin can do |
14 various things, among others: | |
24 | 15 |
16 * Serving new **Web applications** that have full access to the REST | |
17 API of Orthanc, which makes easy to handle DICOM images from | |
18 JavaScript code. | |
19 * Replacing **the way DICOM images are decoded** (e.g. the official | |
20 :ref:`Web viewer plugin <webviewer>` introduces the decoding of | |
21 JPEG2000 images, which is not available in the core of Orthanc). | |
154 | 22 * Replacing the default **database back-end** of Orthanc (that is |
23 built upon SQLite) by another (:ref:`PostgreSQL <postgresql>`, | |
24 :ref:`MySQL <mysql>`, SQL Server...). | |
24 | 25 * Creating **new REST APIs** on the top of the Orthanc built-in API (as in |
26 in the official :ref:`DICOMweb <dicomweb>` plugin). | |
27 * **Reacting** to the arrival of new DICOM images or other | |
28 DICOM-related events so as to carry on automated processing. | |
25 | 29 * ... |
30 | |
31 Developers external to the official Orthanc project are :ref:`invited | |
38 | 32 to contribute <contributing>` to the C/C++ part of Orthanc by creating |
33 third-party plugins. A specific section of the Orthanc Book explains | |
34 :ref:`how to create new Orthanc plugins <creating-plugins>`. | |
24 | 35 |
36 .. _plugins-official: | |
37 | |
38 Index of the official plugins | |
39 ----------------------------- | |
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 | 44 .. toctree:: |
45 :maxdepth: 1 | |
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 | 48 plugins/dicomweb.rst |
49 plugins/postgresql.rst | |
53 | 50 plugins/wsi.rst |
24 | 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 | 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 | 55 |
229 | 56 .. _plugins-osimis: |
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 |
750 | 69 plugins/odbc.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
|
70 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
|
71 plugins/authorization.rst |
837
66ff2f30afcc
added new features from next upcoming Orthanc release
Alain Mazy <am@osimis.io>
parents:
835
diff
changeset
|
72 plugins/housekeeper.rst |
845 | 73 plugins/orthanc-explorer-2.rst |
861 | 74 plugins/delayed-deletion-plugin.rst |
75 | |
24 | 76 |
758 | 77 .. _plugins-uclouvain: |
78 | |
79 From UCLouvain | |
80 ^^^^^^^^^^^^^^ | |
81 | |
82 .. toctree:: | |
83 :maxdepth: 1 | |
84 | |
952
4a76327e83fb
started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
936
diff
changeset
|
85 plugins/ohif.rst |
4a76327e83fb
started documentation of ohif plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
936
diff
changeset
|
86 plugins/volview.rst |
758 | 87 plugins/tcia.rst |
772
3971710d9d45
added indexer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
758
diff
changeset
|
88 plugins/indexer.rst |
835
1f9f6269543f
documentation of the neuroimaging plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
772
diff
changeset
|
89 plugins/neuro.rst |
936
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
925
diff
changeset
|
90 plugins/multitenant-dicom.rst |
758 | 91 |
24 | 92 .. _plugins-contributed: |
93 | |
94 Index of the contributed plugins | |
95 -------------------------------- | |
96 | |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
97 C/C++ plugins |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
98 ^^^^^^^^^^^^^ |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
99 |
163 | 100 * `AWS S3 storage plugin |
101 <https://github.com/radpointhq/orthanc-s3-storage>`__: This plugin | |
358
011b01ccf52d
fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
341
diff
changeset
|
102 by `Radpoint <https://radpoint.pl/>`__ makes Orthanc store its |
163 | 103 DICOM files into an `Amazon S3 bucket |
104 <https://en.wikipedia.org/wiki/Amazon_S3>`__. | |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
105 |
24 | 106 * `DWV Orthanc Plugin |
107 <https://github.com/ivmartel/dwv-orthanc-plugin>`__: This plugin by | |
108 Yves Martelli is based on `dwv | |
109 <https://github.com/ivmartel/dwv/wiki>`__ and extends Orthanc with a | |
110 Web viewer of DICOM images. | |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
111 |
24 | 112 * Another Web viewer is provided courtesy of `Emsy Chan |
25 | 113 <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
|
114 |
358
011b01ccf52d
fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
341
diff
changeset
|
115 * `VPI Reveal <https://www.vpireveal.com/>`__ provides a plugin to |
71 | 116 "write the DICOM records in a normal Windows-readable file hierarchy |
70 | 117 (patient-study-series-DICOM file) at a location called |
118 ``VPIStorage`` that can then be imported into VPI Reveal." `Check | |
71 | 119 out their source code |
70 | 120 <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
|
121 |
93 | 122 * `Doc Cirrus <https://www.doc-cirrus.com/>`__ is working on `MongoDB |
115 | 123 <https://en.wikipedia.org/wiki/MongoDB>`__ database plugins. Check |
124 out their `source code | |
125 <https://github.com/Doc-Cirrus/orthanc-mongodb>`__ and the | |
126 `associated description | |
127 <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
|
128 |
895 | 129 |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
130 Python plugins |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
131 ^^^^^^^^^^^^^^ |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
132 |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
133 * Julian Hartig maintains a `Python plugin |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
134 <https://github.com/crispinus2/orthanc-gdt>`__ called |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
135 ``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
|
136 German AIS <https://en.wikipedia.org/wiki/XDT>`__ |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
137 (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
|
138 radiologists) use for communicating with external applications and |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
139 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
|
140 <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
|
141 |
739
4fcc8646117b
fix link to Stephen Douglas Scotti
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
615
diff
changeset
|
142 * Stephen Douglas Scotti maintains an `integrated Docker package |
4fcc8646117b
fix link to Stephen Douglas Scotti
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
615
diff
changeset
|
143 <https://github.com/sscotti/PACS_Integration>`__, that provides a |
4fcc8646117b
fix link to Stephen Douglas Scotti
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
615
diff
changeset
|
144 portal application using Laravel (which demonstrates pagination and |
4fcc8646117b
fix link to Stephen Douglas Scotti
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
615
diff
changeset
|
145 some other features), and some MPPS and MWL features. |
486 | 146 |
615
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
147 * Walco van Loon maintains `Orthanc Server Extensions |
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
148 <https://github.com/walkIT-nl/orthanc-server-extensions>`__ as *"A |
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
149 simple Orthanc python plugin based framework to extend Orthanc's |
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
150 feature set with testable python scripts."*. Check out the original |
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
151 announcement on the `Orthanc Users forum |
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
152 <https://groups.google.com/g/orthanc-users/c/q3Tncx3b6os/m/iFLq85fKAgAJ>`__. |
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
153 |
895 | 154 |
155 Rust plugins | |
156 ^^^^^^^^^^^^ | |
157 | |
158 As the Rust language can produce shared libraries that are binary | |
159 compatible with the `C ABI | |
160 <https://en.wikipedia.org/wiki/Application_binary_interface>`__, it is | |
161 possible to create plugins using Rust: | |
162 | |
163 * Andrew Webber provides `Rust plugins | |
164 <https://github.com/andrewwebber/orthanc-rust-plugins>`__ showcasing | |
165 integration with Orthanc, notably a S3 storage (CRUD) and a change | |
166 notification. Check out the original announcement on the `Orthanc | |
167 Users forum | |
168 <https://groups.google.com/g/orthanc-users/c/bDNBLMqXlEk/m/sGgzS5ZVBwAJ>`__. | |
169 | |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
170 |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
171 Other |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
172 ^^^^^ |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
173 |
40 | 174 * Check out the `OrthancContributed repository on GitHub |
175 <https://github.com/jodogne/OrthancContributed/tree/master/Plugins>`__, that | |
176 might contain plugins that are not tracked in this list. | |
24 | 177 |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
178 * **Important:** Do not hesitate to `contact us |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
179 <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
|
180 have developed a plugin so that we can promote it in the list above! |