annotate TODO @ 4707:81ad9d8a0fa6

todo
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 22 Jun 2021 09:28:01 +0200
parents 3badc205cb4c
children a53a58489cc0 85102d5cc936
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
4707
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4662
diff changeset
5 For higher-level ideas in the roadmap, please first read the
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4662
diff changeset
6 "Contributing to Orthanc" section of the Orthanc Book:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4662
diff changeset
7 https://book.orthanc-server.com/contributing.html
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4662
diff changeset
8
2162
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 =======
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 General
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
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 * 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
15 ("FromDcmtkBridge::GenerateUuid()")
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
4662
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4654
diff changeset
20 * Option to enable DNS lookups in DICOM:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4654
diff changeset
21 https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.3/OrthancFramework/Sources/OrthancFramework.cpp#l88
4643
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
22 * Toolbox::ComputeMD5() fails on files larger than 4GB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
23
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
24
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
25 ============================
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
26 Documentation (Orthanc Book)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
27 ============================
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
28
4645
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4644
diff changeset
29 * Explain how log rotation can be achieved (no built-in support in Orthanc)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4644
diff changeset
30 * Explain how to interface with Mirth/NextGen Connect
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4644
diff changeset
31 https://en.wikipedia.org/wiki/NextGen_Connect
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4644
diff changeset
32 * How to reproduce issues by replacing Orthanc with storescp or wlmscpfs
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4644
diff changeset
33 * How to capture TCP traffic of DICOM protocol using tcpdump and Wireshark
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4644
diff changeset
34 * Add more configurations of viewers (Weasis, Slicer...):
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4644
diff changeset
35 https://book.orthanc-server.com/integrations.html
4648
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4645
diff changeset
36 * Discuss HL7 in a dedicated page:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4645
diff changeset
37 https://groups.google.com/d/msg/orthanc-users/4dt4992O0lQ/opTjTFU2BgAJ
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 ========
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 REST API
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
3967
5b731d898bee refresh TODO
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3672
diff changeset
44 --------
5b731d898bee refresh TODO
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3672
diff changeset
45 Mid-term
5b731d898bee refresh TODO
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3672
diff changeset
46 --------
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47
4478
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4467
diff changeset
48 * Archive jobs: Resume downloads using "range requests":
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4467
diff changeset
49 https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests
4459
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
50 * Create DICOM from DICOMweb JSON ("application/dicom+json")
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
51 with "/tools/create-dicom"
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 * Create multi-frame images with /tools/create-dicom (by adding a
4644
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4643
diff changeset
53 "MultiFrame" flag to avoid creating a series), or modify PixelData
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4643
diff changeset
54 of a multi-frame image:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4643
diff changeset
55 https://groups.google.com/g/orthanc-users/c/y3-xa_GcdLM/m/m0Kr5G5UPAAJ
4478
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4467
diff changeset
56 * Specify the transfer syntax in /tools/create-dicom
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4467
diff changeset
57 * In the /studies/{id}/anonymize route, add an option to remove
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4467
diff changeset
58 secondary captures. They usually contains Patient info in the
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4467
diff changeset
59 image. The SOPClassUID might be used to identify such secondary
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4467
diff changeset
60 captures.
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4467
diff changeset
61 * Support "/preview" and "/matlab" for LUT color images
4644
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4643
diff changeset
62 * Add asynchronous mode in "/modalitities/.../move" for C-MOVE SCU:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4643
diff changeset
63 https://groups.google.com/g/orthanc-users/c/G3_jBy4X4NQ/m/8BanTsdMBQAJ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4643
diff changeset
64 * Ranges of DICOM tags for "Keep" and "Remove" in ".../modify" and ".../anonymize":
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4643
diff changeset
65 https://groups.google.com/g/orthanc-users/c/6dETktKo9v8/m/b0LUvSfwAgAJ
4662
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4654
diff changeset
66 * Remove/Replace/Keep for nested sequences in "/modify":
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4654
diff changeset
67 https://groups.google.com/g/orthanc-users/c/iLxHN0YK00E/m/Cnauy7txBgAJ
2162
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 Long-term
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 * 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
74 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
75 http://www.admiraalit.nl/jarest/
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76
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 DICOM
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
3383
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3335
diff changeset
82 --------
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3335
diff changeset
83 Mid-term
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3335
diff changeset
84 --------
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85
4452
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4448
diff changeset
86 * Support C-GET SCU (note that C-GET SCP was introduced in Orthanc 1.7.0)
3335
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3300
diff changeset
87 * Support "Retrieve AE Title" (0008,0054) in C-FIND:
4144
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3967
diff changeset
88 - On SCP side: done by https://hg.orthanc-server.com/orthanc/rev/1ec3e1e18f50
3472
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3465
diff changeset
89 - On SCU side:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3465
diff changeset
90 https://groups.google.com/d/msg/orthanc-users/wPl0g5mqZco/5X1Z8tEzBgAJ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3465
diff changeset
91 * Support "Instance Availability" (0008,0056) in C-FIND:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3465
diff changeset
92 http://dicom.nema.org/medical/DICOM/2019a/output/chtml/part04/sect_C.4.html#sect_C.4.1.1.3.2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3465
diff changeset
93 https://groups.google.com/d/msg/orthanc-users/hteDgE6igo8/j-ArqD7pBQAJ
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 * Check Big Endian transfer syntax in ParsedDicomFile::EmbedImage and
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95 DicomImageDecoder
3384
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3383
diff changeset
96 * Strict hierarchical C-FIND:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3383
diff changeset
97 https://groups.google.com/d/msg/orthanc-users/VBHpeGVSNKM/tkaVvjWFBwAJ
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
98
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
99 ---------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
100 Long-term
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
101 ---------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
102
2405
85a22aad7dfe todo: extended association
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2377
diff changeset
103 * Support extended association:
85a22aad7dfe todo: extended association
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2377
diff changeset
104 https://groups.google.com/d/msg/orthanc-users/xD4d3mpc6ms/srF7E2goAAAJ
3465
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3390
diff changeset
105 * Support C-MOVE-CANCEL:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3390
diff changeset
106 https://groups.google.com/d/msg/orthanc-users/KnduYBFd06A/o86cl5SeCAAJ
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
107
3967
5b731d898bee refresh TODO
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3672
diff changeset
108 --------------------
5b731d898bee refresh TODO
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3672
diff changeset
109 Internationalization
5b731d898bee refresh TODO
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3672
diff changeset
110 --------------------
3218
9a83d94b2a1e kanji encoding
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3153
diff changeset
111
9a83d94b2a1e kanji encoding
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3153
diff changeset
112 * Support multiple specific character sets (cf. "SCSH32" in orthanc-tests)
3223
c94f23198946 unit testing japanese
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3221
diff changeset
113 - http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.12.html#sect_C.12.1.1.2
c94f23198946 unit testing japanese
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3221
diff changeset
114 - Japanese test: http://dicom.nema.org/MEDICAL/dicom/2017c/output/chtml/part05/sect_H.3.2.html
3218
9a83d94b2a1e kanji encoding
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3153
diff changeset
115 * Support Supplementary Kanji set (ISO 2022 IR 159)
3261
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3239
diff changeset
116 * Create DICOM files with multibyte encodings (Korean, JapaneseKanji, SimplifiedChinese)
3218
9a83d94b2a1e kanji encoding
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3153
diff changeset
117
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118
4467
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
119 ===========
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
120 Performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
121 ===========
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
122
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
123 * ServerContext::DicomCacheLocker => give access to the raw buffer,
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
124 useful in ServerContext::DecodeDicomInstance()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
125 * DicomMap: create a cache to the main DICOM tags index
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
126 * Check out rapidjson: https://github.com/miloyip/nativejson-benchmark
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
127
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
128
4624
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4478
diff changeset
129 ========
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4478
diff changeset
130 Database
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4478
diff changeset
131 ========
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4478
diff changeset
132
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4478
diff changeset
133 * Integration test searching for "\" and "%" in PatientName, PatientID...
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4478
diff changeset
134
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4478
diff changeset
135
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
136 =======
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
137 Plugins
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
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 SDK
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
142 ---
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
143
4212
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4144
diff changeset
144 * Implement PluginsJob::GetOutput() to allow user-defined jobs to provide output:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4144
diff changeset
145 https://groups.google.com/g/orthanc-users/c/GZ7u0bTTVoo/m/Z7iTNTi2BgAJ
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
146 * Add plugins for normalized operations (notably so as to support
4645
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4644
diff changeset
147 Print SCU/SCP, cf. "dcmprscp"):
3570
f05887b1d1bf Replaced broken url with url from wayback archive
Tomas Zubiri <me@tomaszubiri.com>
parents: 3472
diff changeset
148 https://web.archive.org/web/20170923150432/https://www.medicalconnections.co.uk/kb/DICOM_Print_Service
3153
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2975
diff changeset
149 * Provide access to the Orthanc::DicomUserConnection class in plugins:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2975
diff changeset
150 https://groups.google.com/d/msg/orthanc-users/ycDA1xPuTRY/nsT2_GOtEgAJ
3390
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3384
diff changeset
151 * Provide a C++ callback similar to "ReceivedInstanceFilter()" in Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3384
diff changeset
152 https://book.orthanc-server.com/users/lua.html#filtering-incoming-dicom-instances
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3384
diff changeset
153 https://groups.google.com/d/msg/orthanc-users/BtvLTE5Ni8A/vIMhmMgfBAAJ
4645
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4644
diff changeset
154 * In "OrthancPluginLog[Error|Warning|Info]()", prefix the log line with
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4644
diff changeset
155 the name of the plugin, as retrieved by "OrthancPluginGetName()"
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
156
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
157 ----------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
158 Ideas of plugins
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
159 ----------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
160
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
161 * DICOM-RT primitives (RT-STRUCT, RT-PLAN, RT-DOSE)
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
162 * Converter to/from NIfTI
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
163 * Decode JPEG2k with grok: https://github.com/GrokImageCompression/grok
2251
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2247
diff changeset
164 * Generate dynamic HTTP content using Lua:
2199
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2178
diff changeset
165 https://groups.google.com/d/msg/orthanc-users/KompazkxRSs/5Rh03mzgDAAJ
2251
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2247
diff changeset
166 * More generally, expose more callbacks of the plugin SDK in Lua:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2247
diff changeset
167 https://groups.google.com/d/msg/orthanc-users/_FbiRHuXPGM/J-OAv7zaCAAJ
3300
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3261
diff changeset
168 * Configuration interface plugin
4643
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
169 * Delayed deletion plugin:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
170 https://bugs.orthanc-server.com/show_bug.cgi?id=186#c2
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
171
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
172
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
173 ===
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
174 Lua
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
175 ===
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
176
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
177 * Configure HTTP headers from Lua (in HttpGet(), HttpPost(),
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
178 HttpPut(), HttpDelete(), RestApiGet(), RestApiPost(), RestApiPut()
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
179 and RestApiDelete().
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
180 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
181
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
182
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
183 ================
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
184 Code refactoring
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
185 ================
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
186
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
187 * Use Semaphore::Locker everywhere (instead of explicit
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
188 Release() and Acquire())
2207
6dc3bdb4088b Fix handling of encodings in C-FIND for worklists
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2202
diff changeset
189 * 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
190 methods private), go through ParsedDicomFile wherever possible
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
191
4459
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
192
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
193 =================
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
194 Platform-specific
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
195 =================
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
196
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
197 ---------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
198 Packaging
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
199 ---------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
200
4467
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
201 * RHEL through EPEL (as of 2021, CentOS seems to be over):
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
202 http://fedoraproject.org/wiki/EPEL_Package_Maintainers
4643
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
203 * Fedora: Are DICOM dictionaries correctly located?
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
204 https://groups.google.com/g/orthanc-users/c/YB_LTBuUQNA/m/3H1xsrZJDgAJ
2162
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
205
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
206 ------------------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
207 Big-endian architectures
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
208 ------------------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
209
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
210 * Check the generated 16bpp PNG images
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
211
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
212 -----------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
213 Microsoft Windows
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
214 -----------------
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
215
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
216 * Add compatibility with non-ASCII paths (Orthanc expresses its paths
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
217 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
218 system locale)
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
219
d738945c25cd migrating TODO from Trello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
220
3672
ea8c1c0e81eb Fix issue #65 (Logging improvements)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3570
diff changeset
221 ====
ea8c1c0e81eb Fix issue #65 (Logging improvements)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3570
diff changeset
222 Misc
ea8c1c0e81eb Fix issue #65 (Logging improvements)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3570
diff changeset
223 ====
ea8c1c0e81eb Fix issue #65 (Logging improvements)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3570
diff changeset
224
4643
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
225 -----------------
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
226 Maintenance tools
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
227 -----------------
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
228
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
229 * Standalone tool to detect corrupted files:
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
230 https://groups.google.com/g/orthanc-users/c/KASEJ9Gx3vQ/m/MIJFJdRhAwAJ
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
231 * Standalone tool to detect orphan files in OrthancStorage
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
232
4459
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
233 -----
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
234 Legal
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
235 -----
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
236
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
237 * Drop "OpenSSL Exception" from the Orthanc license once OpenSSL 3.0.0
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
238 is released, because that version will replace "OpenSSL license"
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
239 (incompatible with GPL) by "Apache License 2.0" (compatible with
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
240 GPL): https://people.gnome.org/~markmc/openssl-and-the-gpl.html
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
241
4643
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
242 ----------------------------------
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
243 Code quality and integration tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
244 ----------------------------------
4459
16392fe89ce0 new mutex to protect registration of REST callbacks: restCallbackRegistrationMutex_
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4452
diff changeset
245
4467
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
246 * Have a look at openQA (cf. GNU Health)
4643
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
247 * Add integration tests for LUT
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4624
diff changeset
248
3672
ea8c1c0e81eb Fix issue #65 (Logging improvements)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 3570
diff changeset
249
4467
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
250 ---------------------
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
251 External applications
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
252 ---------------------
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
253
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
254 * Create REST bindings with Slicer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4464
diff changeset
255 * Create REST bindings with Horos/OsiriX