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