forked from DCMTK/dcmtk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathANNOUNCE.362
346 lines (293 loc) · 13.9 KB
/
ANNOUNCE.362
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
ANNOUNCEMENT
Version 3.6.2 of the OFFIS DCMTK (DICOM ToolKit) software is now available for
public release. This release includes the following main changes over the
previous version 3.6.0:
- DCMTK 3.6.2 builds correctly on older and up-to-date versions of GNU gcc
(4.2.1 to 7.1.1) Clang (3.4.1 to 4.0.1), Microsoft Visual Studio (2005 to
2017) and SunPro CC (5.14 and 5.15).
- Tested with the following operating systems/environments:
- Android on arm64
- Cygwin on x86_64
- FreeBSD on x86_64
- Linux on x86_64 and x86
- MacOS X on x86_64
- NetBSD on x86_64
- OpenBSD on x86_64
- OpenIndiana on x86
- QNX on x86
- Solaris on x86
- Windows (and MinGW) on x86_64 and x86
For a complete list of tested systems and compilers, see the INSTALL file.
- The CMake build system is now considered as mature as our GNU Autoconf
setup. There are even some features that are only available when using CMake,
for example exporting the build configuration in order to easily integrate
DCMTK into other CMake based projects.
- It is now possible to build shared libraries (Linux) resp. dynamic link
libraries (DLLs, Windows) using CMake and the "BUILD_SHARED_LIBS" option.
DCMTK can even be compiled into a single shared library (e.g. "dcmtk.dll")
using the "BUILD_SINGLE_SHARED_LIBRARY" option.
- Added character set transcoding support:
- Support for converting DICOM files, datasets and element values between
different character sets (incl. code extension techniques).
- Windows-specific support for converting between wide character encoding and
e.g. UTF-8 or Latin-1.
- Support for wide character strings (UTF-16) used for filenames by the
Windows operating system.
- Supports replacing the underlying character set conversion implementation as
needed using either:
- GNU libiconv,
- International Components for Unicode (ICU) or
- the iconv functions from the C standard library.
- "dcmqrdb" allows matching queries with datasets using different character
sets and response conversion.
- Integrated a unit test framework and added several unit tests to ensure that
basic functionality (e.g. parsing DICOM data, network transmission) will
never break.
- Updated CharLS to version 1.0 and log4cplus to version 1.1.0.
- Added cross compiling support for Windows and Android targets. The Android
emulator and Wine have been integrated into our CMake setup for running the
run time configuration tests as required and (optionally) the unit tests.
- Refactored native STL integration:
- Added arguments resp. variables to Autoconf and CMake replacing the old
macros for choosing whether to use DCMTK's fallback or the native
implementation of various STL features. See the INSTALL file for more
information about this.
- Added configuration tests ensuring that the enabled STL features work as
expected/required before actually using them.
- Added unit tests to ensure whichever chosen implementation actually works.
- Added support for several C++11 (and newer) features and fallback
implementations as required:
- Added arguments resp. variables to Autoconf and CMake for enabling native
C++11 support or DCMTK's own fallback implementations and workarounds. See
the INSTALL file for more information.
- Added configuration tests that ensure that the compiler actually provides
C++11 support before using it.
- Added advanced memory management primitives OFunique_ptr and OFshared_ptr
to support users in writing memory leak free code.
- Added support for move semantics, e.g. to transfer the ownership of an
OFunique_ptr.
- Added OFnumeric_limits to query information about fundamental arithmetic
types.
- Added type traits (OFenable_if etc.) to support template meta-programing.
- Added OFtuple as a more generic alternative to OFPair.
- Added OFoptional to connect the state information of optional values with
the actual value, e.g. for being used as function return value.
- Added OFvariant, a type safe tagged union to store different objects in
a single variable (not simultaneously) depending on runtime requirements.
- Added unit tests to ensure all above mentioned features really work.
- Introduced platform independent defines for suppressing inappropriate compiler
diagnostic output (i.e. "warnings"). This mechanism is used to locally
suppress warnings that originate from the compiler misinterpreting the authors
intention, e.g. warnings when intentionally mixing "class" and "struct" for
template specialization to save typing "public" and "private".
- Introduced several new modules:
- "dcmrt" - implements support for the DICOM Radiation Therapy IODs
- "dcmiod" - eases IOD module composition and supports constraint checking
when reading and writing IODs and their modules.
- "dcmfg" - allows to represent Functional Groups in the source code.
- "dcmseg" - implements the segmentation IOD based on "dcmiod" and "dcmfg".
- "dcmtract" - offers a dedicated API to create and read DICOM Tractography
Results objects (introduced in DICOM Supplement 181).
- "dcmpmap" - for creating, saving and loading DICOM Parametric Maps objects
(introduced with Supplement 172).
- Further enhanced DICOM Structured Reporting (SR) module "dcmsr":
- Added the "dcmsr/cmr" submodule implementing support for parts of the DICOM
Content Mapping Resource (DCMR).
- Added support for SR templates by introducing two general classes for root
and non-root templates.
- Also added support for CP-1031 (Support long code values) and CP-1417
(Clarify use and declaration of private mapping resource).
- Added support for the SR Template TID 1500 (Measurement Report) and included
subordinated Templates (e.g. TID 1001, 1204, 1600, 1411).
- Also added support for all required Context Groups and Code definitions, i.e.
from DICOM, NCIt, SNOMED, UCUM, and UMLS coding scheme.
- Added support for the new Acquisition Context SR IOD, Comprehensive 3D SR
IOD, Implantation Plan SR Document IOD, Radiopharmaceutical Radiation Dose
SR IOD, Simplified Adult Echo SR IOD and Spectacle Prescription Report IOD.
- Further improved handling of incorrectly encoded DICOM SR documents.
- Many further improvements in order to stay up-to-date with development of
the DICOM standard and to make it easier to create, read, write, and modify
SR documents.
- Introduced several new command line tools:
- "getscu" - a C-GET Service Class User.
- "dcmsend" - a Simple Storage Service Class User, based on new class
"DcmStorageSCU".
- "dcmrecv" - alternative to storescp with focus on easy use, based on new
class "DcmStorageSCP".
- "dcm2json" - converts DICOM files to DICOM's official JSON encoding.
- Added threading functionality to DcmSCP via thread pool classes.
- Added new output format to dcm2xml: the Native DICOM Model according to
part 19 of the DICOM standard ("Application Hosting").
- Added support for 16 bits per sample to PNG image export.
- Significantly enhanced performance of the DICOMDIR code for reading and
writing such files. Also added support for all new Directory Record Types.
- Added support for new Return Key Attributes to the "wlmscpfs", which are
required for the IHE Eye Care Workflow.
- Introduced advanced parameterization methods for DCMTLS.
- Improved data dictionary configuration options and handling.
- Added support for new Value Representations "Other Double" (OD), "Other Long"
(OL), "Unlimited Characters" (UC) and "Universal Resource Identifiers/Locators
(URI/URL)" (UR).
- Added support for three new DICOS Storage SOP Classes from the DICOM-related
DICOS (Digital Imaging and Communications in Security) standard.
- Added additional matching keys to dcmqrdb and dcmwlm: StudyDate, StudyTime and
IssuerOfPatientID.
- Updated data dictionary, SOP Class and Transfer Syntax UIDs for the recently
approved changes to the DICOM standard (i.e. Supplements and CPs), up to DICOM
standard release DICOM 2017b.
- Added support for additional MPEG4 transfer syntaxes to several command line
programs.
- Enhanced support for DICOM Non-Patient Objects, e.g. allow for transferring
them using the standard networking tools.
- DCMTK now supports compiling with OpenSSL 1.1.x; support for some older,
insecure TLS cipher suites has been removed.
- The JPEG encoder now implements DICOM CP 1447, i.e. always writes a SOF1
marker into the JPEG bitstream in extended sequential mode.
- The socket timeout used for send() and recv() is now configurable (at
runtime); further fixes and enhancements to networking basics.
- Revised implementation of class OFCondition in order to avoid issues with
static initialization order.
- Fixed various issues that occurred after the official 3.6.0 release.
Many people have contributed to this new release of DCMTK, appearing here in
alphabetical order. Thank you very much for your support!
Alexander Haderer <[email protected]>
Alexander Karaivanov <[email protected]>
Andrei Terechko <[email protected]>
Andrey Fedorov <[email protected]>
Anne-Gaelle Berge <[email protected]>
Bhuvan Bose <[email protected]>
Bill Lorensen <[email protected]>
Brad Jascob <[email protected]>
Bruno Milutin <[email protected]>
Carmen Avram <[email protected]>
Christian Fremgen <[email protected]>
Christian Herz <[email protected]>
Christian Wetzel <[email protected]>
Daniele Giunchi <[email protected]>
David Clunie <[email protected]>
Detlev Hohmeier <[email protected]>
Dimitri Papadopoulos <[email protected]>
Dr. Martin Korp <[email protected]>
Dr. Michael Heber <[email protected]>
Eric A. Borisch <[email protected]>
David Flade <[email protected]>
Fred Stegemann <[email protected]>
Fu Peng <[email protected]>
Gareth Sylvester-Bradley <[email protected]>
Gary Carter <[email protected]>
Gigante <[email protected]>
Grzegorz Chlebus <[email protected]>
Hanno Hugenberg <[email protected]>
Hans J. Johnson <[email protected]>
Hans Kluijtmans <[email protected]>
Hector Marco <[email protected]>
Heyo Spekker <[email protected]>
Huseyin Kozan <[email protected]>
Ing-Long Eric Kuo <[email protected]>
Jean-Christophe Fillion-Robin <[email protected]>
Jeroen Eggermont <[email protected]>
John Stark <[email protected]>
Julien Finet <[email protected]>
Kent Williams <[email protected]>
Kornelius Sohn <[email protected]>
Lin Qi Ruan <[email protected]>
Marco Nolden <[email protected]>
Mario Ceresa <[email protected]>
Markus Konrad <[email protected]>
Markus Mertens <[email protected]>
Martin Wenger <[email protected]>
Mathieu Malaterre <[email protected]>
Matt McCormick <[email protected]>
Michael Knopke <[email protected]>
Michael Schinner <[email protected]>
Michal Spacek <[email protected]>
Niels Dekker <[email protected]>
Paolo Marcheschi <[email protected]>
Per Inge Mathisen <[email protected]>
Peter Hille <[email protected]>
Peter Klotz <[email protected]>
Pietro Cerutti <[email protected]>
Rasmus Christian Pedersen <[email protected]>
Richard Flay <[email protected]>
Robert Habrich <[email protected]>
Stacy Loesch <[email protected]>
Takeo Satomi <[email protected]>
Tamas Nemeth <[email protected]>
Thomas Puckett <[email protected]>
Thomas Sondergaard <[email protected]>
Tiago D'Agostini <[email protected]>
Tilman Vogel <[email protected]>
Timothy Pitt <[email protected]>
Waldir Pimenta <[email protected]>
Wang Qiang <[email protected]>
Yves Neumann <[email protected]>
Forum user "AlexanderLysenko"
Forum user "andreasb"
Forum user "angad"
Forum user "aprogrammer"
Forum user "bibble_235"
Forum user "budric"
Forum user "chaircrusher"
Forum user "coach4ae"
Forum user "dimitri"
Forum user "flang"
Forum user "Geof"
Forum user "gerhardh"
Forum user "ghleclerc"
Forum user "HackerNeo"
Forum user "henry"
Forum user "Hua Cong Danh"
Forum user "ichimura.t"
Forum user "ionut.vaida"
Forum user "jacobf"
Forum user "jacobscolin"
Forum user "jakecobb"
Forum user "kosborn"
Forum user "kron24"
Forum user "lars_matthaeus"
Forum user "Luuk"
Forum user "maleike"
Forum user "martinrame"
Forum user "Matterhorn"
Forum user "merlin"
Forum user "michael12345"
Forum user "nikkoara"
Forum user "nmoraes"
Forum user "oblivion81"
Forum user "oxymoron"
Forum user "Paul Groot"
Forum user "Per"
Forum user "poupofa"
Forum user "psih128"
Forum user "Rich in Soquel"
Forum user "sfzhang"
Forum user "Shaeto"
Forum user "spasmous"
Forum user "st80rules"
Forum user "Tim"
Forum user "tpalagyi"
Forum user "vlad"
Forum user "vsalomoni"
Forum user "wollet88"
Forum user "wrenashe"
Forum user "xcoder"
Forum user "ymartelli"
Forum user "yueran"
Forum user "Yves Neumann"
Forum user "zaq"
Members of the DCMTK Team who have worked on this release are
(in alphabetical order):
Marco Eichelberg <[email protected]>
Michael Onken <[email protected]>
Joerg Riesmeier <[email protected]>
Jan Schlamelcher <[email protected]>
Student associates:
Nikolas Goldhammer <[email protected]>
Sebastian Grallert <[email protected]>
Thorben Hasenpusch <[email protected]>
Uli Schlachter <[email protected]>
Also see CREDITS file for projects and companies who have been generously
supporting DCMTK.
The DCMTK software can be downloaded via:
http://dicom.offis.de/dcmtk or http://www.dcmtk.org/
OFFIS e.V., Oldenburg, Germany, 2017-07-14