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