Mercurial > hg > orthanc-book
annotate Sphinx/source/contributing.rst @ 835:1f9f6269543f
documentation of the neuroimaging plugin
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 26 Apr 2022 15:04:02 +0200 |
parents | 71492ec8af49 |
children | bf3946cb3ca0 |
rev | line source |
---|---|
24 | 1 .. _contributing: |
2 | |
481
4f076a3b9934
unanswered-forum.rst
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
480
diff
changeset
|
3 |
0 | 4 Contributing to Orthanc |
5 ======================= | |
6 | |
481
4f076a3b9934
unanswered-forum.rst
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
480
diff
changeset
|
7 .. toctree:: |
4f076a3b9934
unanswered-forum.rst
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
480
diff
changeset
|
8 :hidden: |
4f076a3b9934
unanswered-forum.rst
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
480
diff
changeset
|
9 |
4f076a3b9934
unanswered-forum.rst
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
480
diff
changeset
|
10 unanswered-forum.rst |
562 | 11 |
12 | |
13 .. note:: Here are the main features we would like to get soon | |
14 implemented as free and open-source code in the Orthanc | |
15 ecosystem. To make this happen, **we need your financial | |
16 support**! | |
17 | |
18 * **Orthanc Core**: | |
19 | |
566 | 20 - :ref:`Improved Web user interface <improving-interface>` |
686 | 21 - Support of DICOM C-GET SCU |
22 | |
562 | 23 * **Stone Web viewer**: |
688 | 24 |
25 - Save/load annotations | |
562 | 26 - Internationalization/translations |
27 - MPR volume rendering | |
566 | 28 - Viewer dedicated to nuclear medicine and radiotherapy |
571 | 29 - Rendering of DICOM GSPS |
563 | 30 |
31 * **Plugins**: | |
32 | |
666 | 33 - :ref:`Worklist plugin <worklist>` to interface with REST API, HL7 or Mirth |
562 | 34 |
35 Please `get in touch with Osimis <info@osimis.io>`__ if you | |
36 want to sponsor these developments. | |
481
4f076a3b9934
unanswered-forum.rst
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
480
diff
changeset
|
37 |
0 | 38 If you find Orthanc useful and wish to contribute to its development, |
39 here are some tasks you can take in charge that would greatly help us: | |
40 | |
104
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
41 * **Non-coding tasks**: |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
42 |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
43 - Use Orthanc in the real life. ;) |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
44 - Advertise about Orthanc, notably on social networks (we are active |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
45 on `Facebook <https://www.facebook.com/orthancdicom/>`__ and |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
46 `Twitter <https://twitter.com/OrthancServer>`__). |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
47 - Answer our `survey |
358
011b01ccf52d
fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
302
diff
changeset
|
48 <https://www.orthanc-server.com/static.php?page=blog#survey>`_. |
104
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
49 - Improve and translate the `Wikipedia pages |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
50 <https://en.wikipedia.org/wiki/Orthanc_(software)>`_ about Orthanc. |
174 | 51 - Cite the `reference paper about Orthanc |
52 <https://link.springer.com/article/10.1007/s10278-018-0082-y>`__ | |
53 in your research work. | |
104
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
54 - Answer questions posted to the `mailing list |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
55 <https://groups.google.com/forum/#!forum/orthanc-users>`_. |
481
4f076a3b9934
unanswered-forum.rst
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
480
diff
changeset
|
56 |
4f076a3b9934
unanswered-forum.rst
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
480
diff
changeset
|
57 - **Important**: A page list the :ref:`old questions that are not |
4f076a3b9934
unanswered-forum.rst
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
480
diff
changeset
|
58 fully answered yet <unanswered_forum>`. Consider answering these |
4f076a3b9934
unanswered-forum.rst
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
480
diff
changeset
|
59 topics too! |
4f076a3b9934
unanswered-forum.rst
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
480
diff
changeset
|
60 |
269 | 61 - Improve the text of the `Orthanc Book and REST API documentation |
449 | 62 <https://hg.orthanc-server.com/orthanc-book/file/default>`__ (check |
361 | 63 out the instructions provided in the `README file |
449 | 64 <https://hg.orthanc-server.com/orthanc-book/file/default/README.md>`__, |
361 | 65 and send us a :ref:`simple patch <hg-patch>`). |
104
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
66 - Provide documentation and use cases (inside the dedicated `GitHub |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
67 repository <https://github.com/jodogne/OrthancContributed>`_, via |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
68 pull requests). |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
69 - Index external contributions inside the `Links.md |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
70 <https://github.com/jodogne/OrthancContributed/blob/master/Links.md>`_ |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
71 file. |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
72 |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
73 * **Maintenance tasks**: |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
74 |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
75 - Report problems together with sample DICOM images and possible |
445
987fbbc2b59e
leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
361
diff
changeset
|
76 workarounds on the dedicated `issue tracker |
987fbbc2b59e
leaving bitbucket wrt. bug tracker
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
361
diff
changeset
|
77 <http://bugs.orthanc-server.com/>`_. |
104
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
78 - Package Orthanc and its associated plugins for more UNIX or |
473 | 79 GNU/Linux distributions (e.g. Ubuntu PPA, RHEL/`EPEL |
80 <https://fedoraproject.org/wiki/EPEL>`__, CentOS, openSUSE...). | |
81 - Take ownership of the now-orphaned `Fedora package | |
729 | 82 <https://src.fedoraproject.org/rpms/orthanc>`__. Check out the |
83 related `issue 1677806 | |
84 <https://bugzilla.redhat.com/show_bug.cgi?id=1677806>`__ and | |
85 `issue 1843127 | |
86 <https://bugzilla.redhat.com/show_bug.cgi?id=1843127>`__. | |
666 | 87 - Take care of :ref:`Debian/Ubuntu backporting <debian-packages>`. |
104
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
88 - Share your maintenance scripts or sample code inside the "`Orthanc Contributed |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
89 <https://github.com/jodogne/OrthancContributed>`_" public GitHub |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
90 repository, via pull requests. |
473 | 91 - Help with the integration of Orthanc together with our friend free |
92 and open-source projects, notably `GNU Health | |
93 <https://www.orthanc-server.com/resources/orthanccon2019/GNUHealthCon-02-AxelBraun.pdf>`__, | |
94 but also `OpenEMR | |
95 <https://community.open-emr.org/t/project-pacs-server-integration/13706/15>`__, | |
96 `GNUmed <https://en.wikipedia.org/wiki/GNUmed>`__... | |
97 | |
0 | 98 |
104
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
99 * **Coding tasks**: |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
100 |
771 | 101 - Have a look at the TODO file containing our `official roadmap |
102 <https://hg.orthanc-server.com/orthanc/file/default/TODO>`__. | |
204 | 103 - The Orthanc project will happily accept patches in the core of |
104 Orthanc and in its associated official plugins. Please read the | |
105 :ref:`dedicated FAQ entry <cla>`. | |
104
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
106 - Interface Orthanc with other software (e.g. 3D Slicer, |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
107 Matlab/Octave, Python, Horos, dicompyler...). Check the `already |
358
011b01ccf52d
fixing external hyperlinks
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
302
diff
changeset
|
108 supported frameworks <https://www.orthanc-server.com/static.php?page=resources>`_. |
473 | 109 - Develop :ref:`C/C++/Python plugins extending the Orthanc core <plugins>`. Here are some ideas |
104
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
110 of possible plugins: |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
111 |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
112 + Create a :ref:`more advanced Web interface |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
113 <improving-interface>` than the built-in Orthanc Explorer. |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
114 + Extend the :ref:`sample modality worklist plugin <worklist>` so |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
115 that it manages the worklists (i.e. add/remove items) with a |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
116 REST API or HL7 messages, instead of reading them from some |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
117 folder on the filesystem. |
479 | 118 + `Encapsulate a video into a DICOM file |
119 <https://stackoverflow.com/questions/28698888/creating-h-264-avc-dicom-file-with-dcmtk/28737338#28737338>`__ | |
480 | 120 by calling some REST route, similarly to the |
121 ``/tools/create-dicom`` :ref:`route to encapsulate PDF <pdf>`. | |
496 | 122 + Similarly to video and PDF (cf. item above), `wrap/unwrap a STL |
123 (3D mesh) to/from a DICOM file | |
124 <http://dicom.nema.org/medical/dicom/2020b/output/chtml/part03/sect_A.85.html>`__ | |
125 by calling some REST route. This is notably useful for dentistry | |
126 (dental implants) or orthopaedics, yet even cutting-edge | |
127 research about 3D-printing of organs. In complement, provide a | |
128 `FreeCAD extension | |
129 <https://twitter.com/sjodogne/status/1299632772915625984>`__ to | |
130 import/export such STL files from/to Orthanc. | |
597 | 131 + Create a plugin to edit DICOM files (add, update or remove DICOM tags). |
598 | 132 + Create samples of :ref:`Python plugins <python-plugin>` to take |
133 care of HL7 messages, especially for :ref:`merging patients | |
134 <split-merge>` (which is a `typical HL7 event | |
135 <https://twitter.com/ZeClint/status/1192086039160086529?s=20>`__ | |
136 to be handled by the PACS, not by the RIS). Reference: Events | |
137 ``Axx`` of Chapter 3 ("Patient Administration") in the HL7 v2.9 | |
725 | 138 specification. ``ADT`` messages have also been `discussed in the |
139 past on the Orthanc forum | |
140 <https://groups.google.com/g/orthanc-users/c/Spjtcj9vSPo/m/ktUArWxUDQAJ>`__. | |
690 | 141 + Create a `DICOM proxy |
142 <https://groups.google.com/g/orthanc-users/c/15dYEm4Tguw/m/PoldpTOQAQAJ>`__ | |
143 (to share a single connection on a PACS by several DICOM | |
726 | 144 clients/viewers), or a `DICOMweb proxy |
145 <https://groups.google.com/g/orthanc-users/c/AQ6qs0TgO6I/m/WxdOVEeKBAAJ>`__ | |
146 (to turn a DICOM-only PACS into a DICOMweb server). This could | |
147 be done as a :ref:`Python plugin <python-plugin>` by wrapping | |
148 the C-FIND and C-MOVE callbacks in the Python API. | |
730 | 149 + Get involved in the call for ideas by Salim Kanoun about a |
150 `DICOM router built on the top of Orthanc | |
151 <https://groups.google.com/g/orthanc-users/c/tx7E1RQuKIY/m/_GsrRZljBgAJ>`__. | |
473 | 152 |
104
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
153 - Always remember that he **recommended way of contributing to the |
474 | 154 source code of Orthanc is by creating C/C++/Python plugins, or by |
155 creating external software that use the REST API**. If the current | |
156 plugin SDK is insufficient for you to develop some feature as a | |
157 plugin, do not hesitate to request an extension to the Orthanc SDK | |
158 on the `mailing list | |
104
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
159 <https://groups.google.com/forum/#!forum/orthanc-users>`_. |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
160 |
09b0a61f1942
improved contributing
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
86
diff
changeset
|
161 |
805 | 162 * **Financial support**: Buying professional services is the best way |
806 | 163 to make the Orthanc project sustainable in the long term. |
0 | 164 |
475
5202bb6984dc
links to lify and OrthancToolsJS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
474
diff
changeset
|
165 - Osimis provides `support packs and professional development |
784 | 166 services <https://osimis.io/en/orthanc-support-contract>`__ around the |
475
5202bb6984dc
links to lify and OrthancToolsJS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
474
diff
changeset
|
167 Orthanc ecosystem and, more generally, around medical |
805 | 168 imaging. |
169 | |
170 - Check out the :ref:`professional services provided by our | |
171 community <support-freelancers>`. |