Mercurial > hg > orthanc-book
annotate Sphinx/source/plugins.rst @ 1043:683f238333cf
reorganized the list of plugins
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 22 Mar 2024 13:18:41 +0100 |
parents | 3b62529bfe91 |
children | ebe3214f3ab0 |
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 | |
1043
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
41 Viewers |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
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 | |
1043
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
47 plugins/stone-webviewer.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
48 plugins/orthanc-explorer-2.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
49 plugins/ohif.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
50 plugins/volview.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
51 plugins/osimis-webviewer.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/webviewer.rst |
1043
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
53 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
54 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
55 Standards |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
56 ^^^^^^^^^ |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
57 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
58 .. toctree:: |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
59 :maxdepth: 1 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
60 |
24 | 61 plugins/dicomweb.rst |
62 plugins/worklists-plugin.rst | |
1043
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
63 plugins/wsi.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
64 plugins/neuro.rst |
24 | 65 |
1043
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
66 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
67 Databases |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
68 ^^^^^^^^^ |
96
750f7ab733c1
start documentation of authorization
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
93
diff
changeset
|
69 |
549
109c043907a1
documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
486
diff
changeset
|
70 .. toctree:: |
109c043907a1
documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
486
diff
changeset
|
71 :maxdepth: 1 |
109c043907a1
documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
486
diff
changeset
|
72 |
1043
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
73 plugins/postgresql.rst |
549
109c043907a1
documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
486
diff
changeset
|
74 plugins/mysql.rst |
1043
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
75 plugins/object-storage.rst |
549
109c043907a1
documenting the Stone Web viewer
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
486
diff
changeset
|
76 plugins/google-cloud-platform.rst |
750 | 77 plugins/odbc.rst |
861 | 78 |
24 | 79 |
1043
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
80 Languages |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
81 ^^^^^^^^^ |
758 | 82 |
83 .. toctree:: | |
84 :maxdepth: 1 | |
85 | |
1043
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
86 plugins/python.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
87 plugins/java.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
88 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
89 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
90 Artificial intelligence |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
91 ^^^^^^^^^^^^^^^^^^^^^^^ |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
92 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
93 .. toctree:: |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
94 :maxdepth: 1 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
95 |
758 | 96 plugins/tcia.rst |
1043
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
97 Mammography plugin <https://github.com/jodogne/orthanc-mammography> |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
98 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
99 Tools |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
100 ^^^^^ |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
101 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
102 .. toctree:: |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
103 :maxdepth: 1 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
104 |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
105 plugins/authorization.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
106 plugins/delayed-deletion-plugin.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
107 plugins/gdcm.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
108 plugins/housekeeper.rst |
772
3971710d9d45
added indexer plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
758
diff
changeset
|
109 plugins/indexer.rst |
936
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
925
diff
changeset
|
110 plugins/multitenant-dicom.rst |
1043
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
111 plugins/serve-folders.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
112 plugins/transfers.rst |
683f238333cf
reorganized the list of plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
999
diff
changeset
|
113 |
758 | 114 |
24 | 115 .. _plugins-contributed: |
116 | |
117 Index of the contributed plugins | |
118 -------------------------------- | |
119 | |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
120 C/C++ plugins |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
121 ^^^^^^^^^^^^^ |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
122 |
163 | 123 * `AWS S3 storage plugin |
124 <https://github.com/radpointhq/orthanc-s3-storage>`__: This plugin | |
358
011b01ccf52d
fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
341
diff
changeset
|
125 by `Radpoint <https://radpoint.pl/>`__ makes Orthanc store its |
163 | 126 DICOM files into an `Amazon S3 bucket |
127 <https://en.wikipedia.org/wiki/Amazon_S3>`__. | |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
128 |
24 | 129 * `DWV Orthanc Plugin |
130 <https://github.com/ivmartel/dwv-orthanc-plugin>`__: This plugin by | |
131 Yves Martelli is based on `dwv | |
132 <https://github.com/ivmartel/dwv/wiki>`__ and extends Orthanc with a | |
133 Web viewer of DICOM images. | |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
134 |
24 | 135 * Another Web viewer is provided courtesy of `Emsy Chan |
25 | 136 <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
|
137 |
358
011b01ccf52d
fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
341
diff
changeset
|
138 * `VPI Reveal <https://www.vpireveal.com/>`__ provides a plugin to |
71 | 139 "write the DICOM records in a normal Windows-readable file hierarchy |
70 | 140 (patient-study-series-DICOM file) at a location called |
141 ``VPIStorage`` that can then be imported into VPI Reveal." `Check | |
71 | 142 out their source code |
70 | 143 <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
|
144 |
93 | 145 * `Doc Cirrus <https://www.doc-cirrus.com/>`__ is working on `MongoDB |
115 | 146 <https://en.wikipedia.org/wiki/MongoDB>`__ database plugins. Check |
147 out their `source code | |
148 <https://github.com/Doc-Cirrus/orthanc-mongodb>`__ and the | |
149 `associated description | |
150 <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
|
151 |
895 | 152 |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
153 Python plugins |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
154 ^^^^^^^^^^^^^^ |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
155 |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
156 * Julian Hartig maintains a `Python plugin |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
157 <https://github.com/crispinus2/orthanc-gdt>`__ called |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
158 ``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
|
159 German AIS <https://en.wikipedia.org/wiki/XDT>`__ |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
160 (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
|
161 radiologists) use for communicating with external applications and |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
162 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
|
163 <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
|
164 |
739
4fcc8646117b
fix link to Stephen Douglas Scotti
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
615
diff
changeset
|
165 * 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
|
166 <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
|
167 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
|
168 some other features), and some MPPS and MWL features. |
486 | 169 |
615
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
170 * Walco van Loon maintains `Orthanc Server Extensions |
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
171 <https://github.com/walkIT-nl/orthanc-server-extensions>`__ as *"A |
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
172 simple Orthanc python plugin based framework to extend Orthanc's |
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
173 feature set with testable python scripts."*. Check out the original |
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
174 announcement on the `Orthanc Users forum |
6059e0d1e36e
Orthanc Server Extensions
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
556
diff
changeset
|
175 <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
|
176 |
895 | 177 |
178 Rust plugins | |
179 ^^^^^^^^^^^^ | |
180 | |
181 As the Rust language can produce shared libraries that are binary | |
182 compatible with the `C ABI | |
183 <https://en.wikipedia.org/wiki/Application_binary_interface>`__, it is | |
184 possible to create plugins using Rust: | |
185 | |
186 * Andrew Webber provides `Rust plugins | |
187 <https://github.com/andrewwebber/orthanc-rust-plugins>`__ showcasing | |
188 integration with Orthanc, notably a S3 storage (CRUD) and a change | |
189 notification. Check out the original announcement on the `Orthanc | |
190 Users forum | |
191 <https://groups.google.com/g/orthanc-users/c/bDNBLMqXlEk/m/sGgzS5ZVBwAJ>`__. | |
192 | |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
193 |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
194 Other |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
195 ^^^^^ |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
196 |
40 | 197 * Check out the `OrthancContributed repository on GitHub |
198 <https://github.com/jodogne/OrthancContributed/tree/master/Plugins>`__, that | |
199 might contain plugins that are not tracked in this list. | |
24 | 200 |
470
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
201 * **Important:** Do not hesitate to `contact us |
90e6c20cef1e
indexing orthanc-gdt python plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
451
diff
changeset
|
202 <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
|
203 have developed a plugin so that we can promote it in the list above! |