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