comparison TODO @ 2884:497a637366b4 db-changes

integration mainline->db-changes
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 12 Oct 2018 15:18:10 +0200
parents edfd98a2b6c4
children 146eaed9b02c
comparison
equal deleted inserted replaced
1762:2b91363cc1d1 2884:497a637366b4
1 =======================
2 === Orthanc Roadmap ===
3 =======================
4
5 The wishlist from Orthanc users is available on Trello:
6 https://trello.com/b/gcn33tDM/orthanc-wishlist
7
8
9 =======
10 General
11 =======
12
13 * Configure an user-defined site UID root if generating DICOM UIDs
14 ("FromDcmtkBridge::GenerateUuid()")
15 * Support "/preview" and "/matlab" for LUT color images
16 * Improve handling of errors in the command queue:
17 https://groups.google.com/d/msg/orthanc-users/--njEbqcDDI/rBu8XL-Mm-cJ
18 * Support partial file retrieval in Orthanc::HttpClient
19 * Support retry counter in Orthanc::HttpClient
20 * Option to enable DNS lookups in DICOM: https://goo.gl/woa35Z
21
22
23 ============
24 Dependencies
25 ============
26
27 * Switch from libiconv to libICU (http://site.icu-project.org/download),
28 as recommended by Boost:
29 http://www.boost.org/doc/libs/1_64_0/libs/locale/doc/html/building_boost_locale.html
30
31
32 =============
33 Documentation
34 =============
35
36 * Document REST API with Swagger/OpenAPI
37
38
39 ========
40 REST API
41 ========
42
43 ----------
44 Short-term
45 ----------
46
47 * Create multi-frame images with /tools/create-dicom (by adding a
48 "MultiFrame" flag to avoid creating a series)
49 * In the /studies/{id}/anonymize route, add an option to remove secondary captures.
50 They usually contains Patient info in the image. The SOPClassUID might be used to
51 identify such secondary captures.
52
53 ---------
54 Long-term
55 ---------
56
57 * Stick to the JSONapi or JAREST guidelines for a "v2" of the API:
58 https://groups.google.com/forum/#!msg/orthanc-users/Bag-SwEE9ZI/-w7QXI6p7-oJ
59 http://www.admiraalit.nl/jarest/
60
61
62 =====
63 DICOM
64 =====
65
66 ----------
67 Short-term
68 ----------
69
70 * Support C-GET:
71 http://dclunie.blogspot.be/2016/05/to-c-move-is-human-to-c-get-divine.html
72 * Check Big Endian transfer syntax in ParsedDicomFile::EmbedImage and
73 DicomImageDecoder
74
75 ---------
76 Long-term
77 ---------
78
79 * Support DICOM TLS (cf. "--enable-tls" in storescp)
80 * Support Storage Commitment:
81 https://groups.google.com/forum/#!msg/orthanc-users/VZOn8St65jw/s8kg_OHesj0J
82 * Support extended association:
83 https://groups.google.com/d/msg/orthanc-users/xD4d3mpc6ms/srF7E2goAAAJ
84
85
86 =======
87 Plugins
88 =======
89
90 ---
91 SDK
92 ---
93
94 * Image transcoding API
95 * Add plugins for normalized operations (notably so as to support
96 Print SCU/SCP):
97 https://www.medicalconnections.co.uk/kb/DICOM_Print_Service
98
99 ----------------
100 Ideas of plugins
101 ----------------
102
103 * DICOM-RT primitives (RT-STRUCT, RT-PLAN, RT-DOSE)
104 * Converter to/from NIfTI
105 * Decode JPEG2k with grok: https://github.com/GrokImageCompression/grok
106 * Generate dynamic HTTP content using Lua:
107 https://groups.google.com/d/msg/orthanc-users/KompazkxRSs/5Rh03mzgDAAJ
108 * More generally, expose more callbacks of the plugin SDK in Lua:
109 https://groups.google.com/d/msg/orthanc-users/_FbiRHuXPGM/J-OAv7zaCAAJ
110 * Authorization plugin for the DICOM protocol:
111 https://groups.google.com/d/msg/orthanc-users/Wv-QEwTE0IA/rvJxoOjcAQAJ
112
113
114 ===
115 Lua
116 ===
117
118 * Configure HTTP headers from Lua (in HttpGet(), HttpPost(),
119 HttpPut(), HttpDelete(), RestApiGet(), RestApiPost(), RestApiPut()
120 and RestApiDelete().
121 https://groups.google.com/forum/#!msg/orthanc-users/WNnW187OILM/6XX_bm96BwAJ
122
123
124 ===========
125 Performance
126 ===========
127
128
129 ================
130 Code refactoring
131 ================
132
133 * Use Semaphore::Locker everywhere (instead of explicit
134 Release() and Acquire())
135 * Avoid direct calls to FromDcmtkBridge (make most of its
136 methods private), go through ParsedDicomFile wherever possible
137
138
139 =================
140 Platform-specific
141 =================
142
143 ---------
144 Packaging
145 ---------
146
147 * CentOS and RHEL through EPEL:
148 http://fedoraproject.org/wiki/EPEL_Package_Maintainers
149
150 ------------------------
151 Big-endian architectures
152 ------------------------
153
154 * Check the generated 16bpp PNG images
155
156 -----------------
157 Microsoft Windows
158 -----------------
159
160 * Add compatibility with non-ASCII paths (Orthanc expresses its paths
161 as UTF-8 strings, but Windows expects them to be translated to the
162 system locale)
163
164
165 =====================
166 External applications
167 =====================
168
169 * Create REST bindings with Slicer
170 * Create REST bindings with Horos/OsiriX