annotate TODO @ 2284:489f656ea596

idea of plugin
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 13 Jun 2017 17:33:02 +0200
parents d623bff7edab
children b3afbffbeda3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2163
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2162
diff changeset
1 =======================
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2162
diff changeset
2 === Orthanc Roadmap ===
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2162
diff changeset
3 =======================
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 The wishlist from Orthanc users is available on Trello:
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 https://trello.com/b/gcn33tDM/orthanc-wishlist
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 =======
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 General
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 =======
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 * Configure an user-defined site UID root if generating DICOM UIDs
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 ("FromDcmtkBridge::GenerateUuid()")
2178
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2163
diff changeset
15 * Support "/preview" and "/matlab" for LUT color images
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 * Improve handling of errors in the command queue:
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 https://groups.google.com/d/msg/orthanc-users/--njEbqcDDI/rBu8XL-Mm-cJ
2178
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2163
diff changeset
18 * Support partial file retrieval in Orthanc::HttpClient
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2163
diff changeset
19 * Support retry counter in Orthanc::HttpClient
2247
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2230
diff changeset
20 * Option to enable DNS lookups in DICOM: https://goo.gl/woa35Z
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 ========
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 REST API
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 ========
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 ----------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 Short-term
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 ----------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 * Create multi-frame images with /tools/create-dicom (by adding a
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 "MultiFrame" flag to avoid creating a series)
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 ---------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 Long-term
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 ---------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 * Stick to the JSONapi or JAREST guidelines for a "v2" of the API:
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 https://groups.google.com/forum/#!msg/orthanc-users/Bag-SwEE9ZI/-w7QXI6p7-oJ
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 http://www.admiraalit.nl/jarest/
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 =====
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 DICOM
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 =====
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 ----------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 Short-term
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 ----------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 * Support C-GET:
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 http://dclunie.blogspot.be/2016/05/to-c-move-is-human-to-c-get-divine.html
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 * Check Big Endian transfer syntax in ParsedDicomFile::EmbedImage and
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 DicomImageDecoder
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 ---------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 Long-term
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 ---------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 * Support DICOM TLS (cf. "--enable-tls" in storescp)
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 * Support Storage Commitment:
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 https://groups.google.com/forum/#!msg/orthanc-users/VZOn8St65jw/s8kg_OHesj0J
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 =======
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 Plugins
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 =======
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 ---
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 SDK
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 ---
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73 * Image transcoding API
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 * Add plugins for normalized operations (notably so as to support
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 Print SCU/SCP):
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76 https://www.medicalconnections.co.uk/kb/DICOM_Print_Service
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78 ----------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79 Ideas of plugins
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80 ----------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82 * DICOM-RT primitives (RT-STRUCT, RT-PLAN, RT-DOSE)
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83 * Converter to/from NIfTI
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
84 * MySQL database plugin
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85 * Decode JPEG2k with grok: https://github.com/GrokImageCompression/grok
2251
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2247
diff changeset
86 * Generate dynamic HTTP content using Lua:
2199
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2178
diff changeset
87 https://groups.google.com/d/msg/orthanc-users/KompazkxRSs/5Rh03mzgDAAJ
2251
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2247
diff changeset
88 * More generally, expose more callbacks of the plugin SDK in Lua:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2247
diff changeset
89 https://groups.google.com/d/msg/orthanc-users/_FbiRHuXPGM/J-OAv7zaCAAJ
2284
489f656ea596 idea of plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2251
diff changeset
90 * Authorization plugin for the DICOM protocol:
489f656ea596 idea of plugin
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2251
diff changeset
91 https://groups.google.com/d/msg/orthanc-users/Wv-QEwTE0IA/rvJxoOjcAQAJ
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
92
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 ===
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95 Lua
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
96 ===
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
97
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
98 * Configure HTTP headers from Lua (in HttpGet(), HttpPost(),
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
99 HttpPut(), HttpDelete(), RestApiGet(), RestApiPost(), RestApiPut()
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
100 and RestApiDelete().
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
101 https://groups.google.com/forum/#!msg/orthanc-users/WNnW187OILM/6XX_bm96BwAJ
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
102
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
103
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
104 ===========
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
105 Performance
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
106 ===========
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
107
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
108
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
109 ============
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
110 Orthanc Book
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
111 ============
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
112
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
113
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
114 ================
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
115 Code refactoring
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
116 ================
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
117
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118 * Use Semaphore::Locker everywhere (instead of explicit
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
119 Release() and Acquire())
2207
6dc3bdb4088b Fix handling of encodings in C-FIND for worklists
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2202
diff changeset
120 * Avoid direct calls to FromDcmtkBridge (make most of its
6dc3bdb4088b Fix handling of encodings in C-FIND for worklists
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2202
diff changeset
121 methods private), go through ParsedDicomFile wherever possible
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
122
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
123
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
124 =================
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
125 Platform-specific
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
126 =================
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
127
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
128 ---------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
129 Packaging
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
130 ---------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
131
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132 * CentOS and RHEL through EPEL:
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
133 http://fedoraproject.org/wiki/EPEL_Package_Maintainers
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
135 ------------------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
136 Big-endian architectures
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
137 ------------------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
138
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
139 * Check the generated 16bpp PNG images
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
140
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
141 -----------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
142 Microsoft Windows
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
143 -----------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
144
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
145 * Add compatibility with non-ASCII paths (Orthanc expresses its paths
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
146 as UTF-8 strings, but Windows expects them to be translated to the
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147 system locale)
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
148
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
149
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
150 =====================
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
151 External applications
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
152 =====================
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
153
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
154 * Create REST bindings with Slicer
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
155 * Create REST bindings with Horos/OsiriX