~ubuntu-branches/ubuntu/warty/xmedcon/warty

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
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
in release 0.9.6:
 - enable use of an external function in MdcReadFile() & MdcWriteFile() 
 - progress bar functions called through function pointers 
 - CONC: fix erroneous error messages (1) 
 - DICOM: preserve PT frame start (GE DICOM) (2) 
. 
 - (1) done by Andy Loening 
 - (2) notified by Charles Brown 
. 
 in extras 1.1.0:
  - source files addapted for new MdcReadFile() & MdcWriteFile() 
  - imtkconv now with most options enabled (1) 
  . 
  - (1) inspired by David Schottlander 
  . 

in release 0.9.5:
   
 - BUGFIX: prevent closing of input file pointer twice (stack & split) 
 - allow file output to stdout after stacking 
 - BUGFIX: relative pathnames cause stacking output failure 
 - small code cleanups (implicit declarations, extern/static conflict) 
 - updated FINK xmedcon.info file 
. 
in release 0.9.4:

 - BUGFIX: broken format selection in GUI on big endian machines (1) 
. 
 - (1) notified by Charles-Henri Malbert 
.
in release 0.9.2/0.9.3:
 - updated inno setup .iss file 
 - CONC: support for gated files (1) 
 - BUGFIX: 1st negative pixel never set to zero when positive only selected 
 - BUGFIX: 1st pixel never added to total_counts for static data 
 - incremental file load (currently: CONC) (1) 
 - prevent locale issues (2) 
 - DICOM: workaround for Amira 3.0 pixel data length bug (3) 
 - DICOM: workaround for (older) ezDICOM false endian transfer syntax & wrong high bit value 
. 
 - (1) done & initiated by Andy Loening 
 - (2) notified by Juergen Salk 
 - (3) sample image from Audun Tornes 

in release 0.9.1:

 - INTF: Catch and fix zero _DATA struct requests (= incomplete headers) 
 - include stdio.h header from medcon.h to prevent "parse errors" 

in release 0.9.0:

 - ANLZ: preserve dh.descrip (= study_descr), removed complicating -ar option. 
 - install for static builds fixed on win32 
 - rework dynamic/time + support (assymetric) planar studies (= MAG3 like) 
 - ECAT6: BUGFIX preserve max/min image values 
 - ECAT : reading vax floats (1) 
 - DICOM/ACR: read isotope halflife tag. 
 - INTF: BUGFIX prevent confusion of key string check with value content (2) 
 - CONC: slice thickness from crystal axial dimension instead of transaxial (1) 
 - CONC: more header entries, warn for mismatch in file_name header entry. (1) 
 - support stack and split of planar studies (static or dynamic) 
 - due to planar support, prefixes "stack3d" or "stack4d" renamed to "stacks" or "stackf" 
 - DICOM: increment series number within single "medcon -f -c" call. (2) 
 - preserve institution and manufacturer(2) 
 - new "-uin" option to override our default institution name 
 - DICOM: use new dynamic data structs for TimeSliceVector (3) 
 - support true RGB display (without color reduction) 
 - fixed memory leak in color correction 
 - BUGFIX: command-line GIF -> PNG wrongfully resulted in gray image. 
 - DICOM: preserve radionuclide/pharmaceutical 
 - INTF: preserve with dialect key "isotope := nuclide/pharmaceutical". 
 - reworked system header includes (no longer in general medcon.h file). 
 - option added to enable file overwrites (MDC_FILE_OVERWRITE) 
 - new option to print all pixel values non-interactively (4) 
 - INTF: support dialect global scale factors (aka mediman & NUD) (5) 
 - DICOM: found a satisfying contrast window center/width implementation. 
 - updated autoconf files. 
. 
(1) patched by Andy Loening 
(2) notified, patched, requested and lots of debugging done by Jiri Bartl 
(3) notified by Larry van Elmbt 
(4) idea & contrib by Juergen Salk 
(5) idea by Kris Thielemans 
.
in release 0.8.13:

- BUGFIX: indexed color PNG wrongfully written as grayscale. (1) 
- CONC: use scan date entry (non-win32), support sinograms and mu map files. (2) 
- building mingw style DLL file on win32 platform. (2) 
- autoconf generated header renamed and no longer included to prevent define clashes. (2) 
- DICOM: skip IconImageSequence's confusing tags. (3) 
- INTF/DICOM: better mapping of some tags (SeriesDescription/StudyID) 
- - fi.study_name renamed into fi.study_id 
- - fi.series_descr entry added (= new "process label" key on INTF) 
. 
- (1) pointed out by Sara Janek 
- (2) done by Andy Loening 
- (3) images offered by Louai Adhami 
. 
in release 0.8.12:
 
- BUGFIX: stack slices broken from 0.8.10: "Improper fi->number" error (1) 
. 
- (1) nailed down by Wassili Pribora 
in release 0.8.11:

- some FINK .info corrections (1) 
- updated with latest autotools: autoconf-2.57, automake-1.7.4 & libtool-1.5 (2) 
- CONC: write support for injected_dose and patient_weight. (1) 
- DICOM/ACR: write support for injected_dose and patient_weight. 
- ECAT7: attempt to fill image_pos_dev[] & image_pos_pat[]. 
. 
- (1) done by Andy Loening 
- (2) debian feedback by Roland Rutschmann 
. 
in release 0.8.10:
 
 - unused variable clean up (1) 
 - DICOM: remove caret signs to retrieve whole patient name 
 - DICOM/ACR: prevent identical instance numbers (= 1) during split slices (zero-based now) 
 - GIF: read blocks independed of struct alignment 
 - CONC: workaround for MacOS X broken sscanf() (read crashes) (2) 
 - ECAT7: finally, limited support for ECAT7 files (2, 3, 4 and others) 
 - INTF: improved support dialects (STIR alike: no total, out of order entries) (ideas 2) 
 - preserve patient weight and injected dose (2) 
 - xmedcon.info file for FINK package management on MacOS X (2) 
 . 
 - (1) informative warnings from IRIX compile by Dimitri Papadopoulos 
 - (2) contribution by Andy Loening 
 - (3) test images offered by Andy Loening and Sara Janek 
 - (4) spec document by Francois Bernard 

in release 0.8.9:
- allow glib message loggin support in library (1) 
- new ljpg Cornell license: "any" instead of just "research" purposes (2) 
- DICOM: fix for naughty GE tag length (= 13 bytes) 
- DICOM: properly combined remapping slope/intercept & center/width 
- DICOM: BUGFIX signed slope/intercept remapping vs unsigned pixel types 
- DICOM: auto fix for unsigned types in case of negative contrast window 
- DICOM: updated with new dcmtk352 dictionary 
- warning fixes for SUN Forte compiler (3) 
- maximum file arguments set to an all high of 10000 (4) 
. 
(1) contributed by Andy Loening 
(2) correspondence by Roland Rutschmann for Debian support. 
(3) feedback by Dimitri Papadopoulos 
(4) requested by Christof Karmonik 

. in release 0.8.8:
- configure adds math lib to link, in case PNG disabled. 
- GATED: BUGFIX : correct reading and writing of intervals (1) 
- GATED: support for rejected intervals or cycles (=> INTF + DICOM). (1) 
- GATED: support GENIE variant where intervals are not repeated. (1) 
- DICOM: fix for acquisition data not being saved. (1) 
- DICOM: turn start angle 180 degrees (<=> InterFile start angle). (1) 
- DICOM: BUGFIX : writing tag (0x0020:0x0010) with wrong length. 
- INTF: BUGFIX : reading "% R-R cardiac cycles acquired", although not used before. 
- INTF: keys checked case insensitive and without spaces in between. 
- INTF: find cycles_observed from cycles_acquired and procent_acquired. 
- PNG: BUGFIX : write didn't close filestream (= zero bytes before GUI exit). 
- prevent conflicts with system headers. (2) 
. 
(1) feedback, notified and requested by Larry van Elmbt (+ test images) 
(2) as proposed by Andy Loening 
. 
in release 0.8.7: (INTF bugfix for 0.8.1 -> 0.8.6)
- INTF: BUGFIX reading loses proper slice width (key reading code lost) 
- ECAT: prevent writing of non 512-byte block on Win32 (crash) 
 
in release 0.8.5:
- ANLZ: always set 4th dimension to satisfy FSL tool (1) 
- ANLZ: implement some AVW extensions (1) 
- ANLZ: safer string printouts from structs 
- ANLZ: read/write RGB colored files (= 8bit indexed internally) 
- DICOM: fix for PHILIPS premature item tag (= bad length) (2) 
- Round 3: The Sun ONE compiler keeps pounding on our code ;-) (3) 
- volumestack & timestack included (--stack-slices, --stack-frames) 
- INTF: initialize pixel sizes for those cases where keys are missing (4) 
. 
(1) requested/offered by Darren Weber 
(2) test image from Peter Clerinx 
(3) feedback from Dimitri Papadopoulos 
(4) discovered with ADAC file from Ciarmiello Andrea 
. 
in release 0.8.4: (developers release)
- last Sun ONE prototype warnings fixed 
- being more open, removed GNU C specific compiler flags (1) 
  
(1) as requested by Dimitri Papadopoulos 
  
in release 0.8.3: (developers release)
- PNG: allow --with-png-prefix and "-lz -lm" added to library check. (1) 
- fixes for prototype warnings with Sun ONE compiler. (1) 
- upgrade of autoconf, automake & libtools. 
- MacOSX: fixed linking LJPG lib: unresolved _mcuROW1 & _mcuROW2. 
- MacOSX: workaround for building shared libs as mentioned here concerning the libtool convenience library bug. 
   
(1) pointed out by Dimitri Papadopoulos 
   
in release 0.8.2:
- DICOM: add support for encapsulated jpeg lossless pixeldata as well (1) 
- DICOM: prevent bad (contrast) values by not interpreting empty tags. 
    
(1) Much appreciated contribution by Jaslet Bertrand 
   
in release 0.8.1: (quickly, before major dicom jpeg contrib)
- INTF: reading (PET) dialect formats; the "matrix size [3]" variants 
- INTF: option to ignore brainless absolute paths in "name of data file" key 
- DICOM: width/center contrast remapping conform to 2001 draft requirements 
- DICOM: handling encapsulated pixeldata (rle) (1) 
- DICOM: fix color reduction for mutli-framed files 
- DICOM: fix bad OW pixeldata VR values (in case of single byte samples) 
- CONC: more header keys known (2) 

in release 0.8.0:
- CLI: preserve spmopt values & added -crop ability (1) 
- support for over 100 luts (filename syntax = ctXYZ.lut). 
- CONC: support for reading sinogram files (2) 
- preserve more info on NM static data (DICOM/INTF) 
- splitframes/splitslices incorporated (-splitf | -splits) 
- ACR/DICOM: unpacking of 12bit pixels (3) 
- DICOM: writing without part 10 meta header 
. 
(1) requested by Filip Jacobs 
(2) contributed by Andy Loening 
(3) requested by Jaslet Bertrand and others 
.
in release 0.7.9:
- GUI: BUGFIX - predef reading fails to read files properly (forgot init). 
- CONC: small updates (header info - patient/slice/orientation) (1) 
- configure: require '--disable-png' in case of missing PNG components 
- configure: remove config.cache in case rerun required 

(1) Once more contributed by Andy Loening. 
. 
in release 0.7.8:
- show (calculated) heart rate for gated SPECT files (-d) 
- ECAT: autodetect more ECAT6.4 like models: 831, 911, 931, 933, 951, 953 
- PNG: support read/write of PNG format, single image format though (1) 
- GUI: bugfix where cancel fails to reset values in Pixels tab (options) 

(1) As replacement for GIF, troubled by the patented LZW compression. 
. 
in release 0.7.7-1: (filled the ChangeLog files)
- ability to save/load raw image properties (path var: XMEDCONRPI) (0) 
- interactive inputs skip comment lines as well (first char = '#') 
- use series or acquisition number in filename's prefix (-preser or -preacq) (3) 
- DICM: fix coredump reading random files (no dicom, zero bytes or small) 
- DICM: mosaic: predefined stamps layout + interlaced + fix voxels (-forced) (3) 
- DICM: support writing implicit VR little transfer syntax (4) 
- ECAT: allow one based number of bed positions (1) 
- ECAT: warn about unsupported overlap in bed positions 
- ECAT: removed 256 pixel limit on dimensions (2) 
- CONC: new entries, sanity check some values, dos/unix header support (1) 

(0) Feature request by Anonymous 
(1) Requested and contributed by Andy Loening. 
(2) Requested by Charles Brown
(3) Originally contributed by Max Zaitsev 
(4) Requested by Tobias Karlsson 
. 

in release 0.7.6: ** unreleased **
. 
in release 0.7.5: ** support for colored images **
- DICM: addressing Stefano Smania's "frico" comparisons, (thanks for sample images) 
  * case 109.dcm: contrast changes with slope/intercept (= integers) before window center/width. 
    * case vr.dcm: 8bit only using color reduction (quantization/median-cut). 
      * case nuc.dcm: to aid Win32 window manager, allow resizing before displaying. 
        * case max.dcm: already possible when contrast remapping enabled, (see 109 case). 
	- BUGFIX: ACR/mosaic - two shamefull string manipulations on filename creation (1) 
	- BUGFIX: GUI - image display corruption during rare combinations of bilinear interpolation, downscaling and the use of an inverse colormap. Now we use dimension rounding as in xzoom.c file, where no problems could be found. 
	- ACR/mosaic - at the same time enable reread of a compressed file 
	- CONC: updates on concorde ยตPET format (2) 

	(1) bug mentioned by Roland M. Rutschmann 
	(2) done by Andy Loening 
	. 
	in release 0.7.4: - GUI: enable editing of FILEINFO parameters (aka -vifi option) 
	- GUI: small bug fix in GBC correction (unreferenced pixmap too early) 
	. 
	in release 0.7.3: - DICOM: updated with new OFFIS DCMTK 3.5.1 dictionary. 
	- DICOM: preliminary Siemens Vision dictionary added (1) 
	- INTF: preserve "exam type" key (study_descr) 
	- ANLZ: preserve "scannum" key (study_name) 
	- support for long/short command-line options 
	- new option to quickly retrieve alias name and echo on screen (3) 
	- updated man-pages 
	- allow to block output messages, do not prevent fatal error. 
	- updated copyright notice for current year. 
	(1) Contributed or (3) idea by Roland M. Rutschmann 
	. 
	in extra 1.0.2: - splitframes & splitslices: fixed instance numbering (one-based) 
	- imtkconv: convert ImTek microCAT format (2) 
	(2) Contributed by Andy Loening 
	. 
	in release 0.7.1: (upgrade required) - Warn users by loss of quantitation. 
	- BUGFIX: non-quantitation, min value could be set to zero due to an uninitaliazed variable. 
	- CONC: fix read/write/read on Win32 
	- CONC: write - fix bad extension 
	- CONC: write - big/little endian writing, force integer 
	- CONC: write - support for compressed/gzipped header/data file. 
	. 
	in release 0.7.0: (recompilation required / lib version 2.1.0)
	- read + write support for Concorde microPET format. (** UNSTABLE **) (1) 
	- patches on autoconf stuff. (1) 
	- writing single MR files. (splitslices, see DICOM improvements, no MR modality yet) (2) 
	- support for negative pixels in combination with quantitation (3) 
	- quantitation linear or affine supported (such as DICOM slope/intercept) 
	- ECAT: use scale_factor in sinograms (3) 
	- ECAT: applied for attenuation and normalisation files too (untested) 
	- DICOM: improved UID creation attempting to keep Study/Series grouping (4) 
	- DICOM: improved contrast (no changing of pixel values) (4) 
	- BUGFIX: verbose mode wrongly mentions make square options as enabled. 
	- WIN32: fix CLI not giving any output due to broken cygwin autodetection. 
	. 
	(1) contributions by Andy Loening 
	(2) requested by Hans Carmona & others before. 
	(3) pointed out or requested by Sakari Alenius 
	(4) enlighted by Alexia L McKnight and tested with Osiris Software. 
	. 
	in release 0.6.5: 
	- include "study_time" in alias naming 
	- enable reading of Acr/Nema, with bad tags at end of file 
	- BUGFIX: list selection with fails (only first used) 

	in release 0.6.4: 
	- simple processing features: flip images, reverse slices, square matrices. 
	- GUI: expanding options organised in tabs 
	- ANLZ: for "analyze reverse", using above routines. 

	in release 0.6.3: minor update (AMIDE compatibility on MacOS X) 
	- ECAT: newer functions got mdc-prefixed. 
	- juggling with Makefile.am files (gnu automake option) 

	in release 0.6.2: tiny update for compilation on MacOS X 
	- synchronised config.guess / config.sub from ftp.gnu.org (MacOS X) 
	- configure now GNU compliant (INSTALL, NEWS, AUTHOR, distributed ChangeLog)
	- using cvs2cl.pl script to generate the ChangeLog files from CVS. 
	- alias filename: replace empty patient_name or study_descr with unknown. 

	in release 0.6.1: library incompatibilities 
	- support for stdin/stdout file input/output (1) 
	- range requests support a regular interval (1) 
	- image extraction list directly from command-line (1) 
	- improved implementation of list handling functions 
	- new functions for output to terminal screen (stdout/stderr choice) 
	- support for creation of filenames based on patient and study information (2) 
	- new option to disable the numbered prefix in filenames 
	- ECAT: removed restriction on square dimensions (1) 
	- ASCII: code for writing is now identical as RAW writing 
	- ASCII: integers printed as integers instead of floats 
	- BUGFIX: prevent decreasing range to wrap around zero (extraction failure) 
	- BUGFIX: gated SPECT with improved parameter preserving between INTF & DICOM 
	(1) requested by Charles Brown 
	(2) requested by Erich Seifritz 

	in release 0.6.0: (minor library incompatibilities) 
	- removed reslice restriction on unknown orientations 
	- learned library versioning (-version-info) 
	- bad English TRANSVERSAL renamed into TRANSAXIAL 
	- IMG_DATA pat_* parameters in to FILEINFO 
	- BUGFIX: MdcCopyID() doesn't copy "bits" parameter properly. 
	- ECAT: all functions and structs got "mdc"-prefixed as requested by Andy Loening (AMIDE) 
	- created autoconf related "xmedcon-config" script and "xmedcon.m4" macro file for developers. 
	- structs reorganized + extra modality structures added (by marcheschi) 

	in release 0.5.10.: 
	- removed version dependency from default prefix. (forgot to update in release 0.5.9 ;-) 
	- check for Mingw32 environment in order to link Win32 icon automatically. 

	in release 0.5.9.: 
	- BUGFIX: writing files in non-host endian resulted in corrupted pixel values when reslicing. 

	in release 0.5.8.: 
	- coronal & sagittal projections as requested by Sean Colloby & others before. 
	- DICOM: improvements on gated spect (BUGFIX: calculation heart rate). 
	- DICOM: fixed coredump on dicomdir. 

	in release 0.5.7.: 
	- small changes in configuration 
	- increased numeric prefix (000-999) for output files as requested by Roland M. Rutschmann. 
	- DICOM: modular dictionary + contribution by Paolo Marcheschi. 
	- DICOM: building dictionaries during compilation process 
	- availability of RPM packages 

	in release 0.5.6.: 
	- DICOM: mosaic & Acr/Nema feature 
	- DICOM: cleanup m-dicm.c 
	- DICOM: BUGFIX missing break; for tag 0x0028:0x0009 resulting in false believe of images with different sizes (=> conversion to INTF fails) 
	- ECAT: improved reading, anatomic/byframe plane sorting 
	- INTF: preserve gated study_duration with (acquired) as well as (elapsed) key. 

	- FAQ : "How to build (X)MedCon on Windoze" peer reviewed & stress tested by Manuel Sabetta - Thanks. 

	in release 0.5.5 
	- Quick fix for the mosaic pixelsize handling. 
	- Adding option -o to change basename. 

	in release 0.5.4 
	- Reading GE dicom files (special transfer syntax). Testimages provided by Romain Valabregue. 
	- Go to page entry as proposed by Paolo Marcheschi . 
	- Free left/right placement of colormap. 
	- Extra option to skip preview slice in some InterFile images. 
	- Fixed small memory leak for Gated /GatedSPECT. 
	- Support for mosaic files by Roland M. Rutschmann.