]> Creatis software - gdcm.git/blob - ChangeLog
2058c649d14696bc971472bcbeba260d9e87050e
[gdcm.git] / ChangeLog
1 2004-01-12 Benoit Regrain
2      * src/*.h : add comments
3      
4 2004-01-09 Benoit Regrain
5      * gdcmPython/gdcmVersion.py : add a gdcmVERSION variable information
6      * setup.py : use a reference to gdcmVERSION
7
8 2004-01-07 Benoit Regrain
9      * Modification to compile with the distutils.
10      * Bug fix in code
11
12 2003-12-10 Benoit Regrain
13      * gdcmHeader is now aggregating gdcmFile, and not derived into. Thus, we
14        can use a gdcmHeaderHelper to load datas
15      * gdcmPython/testSuite.py : make the testSuite compliant with modifications
16        made in the source code
17
18 2003-12-10 Benoit Regrain
19      * Update Windows projects and .cvsignore files
20
21 2003-11-12 Jean-Pierre Roux
22      *ENH  gdcmHeader constructor has one more parameter (default value : false)
23            that allows the user to 'go inside' the SeQuences only
24            if he wants to.
25            gdcmElValSet:Print takes it into account
26
27 2003-11-12  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
28      *ENH: Update gdcmPython/CMakeLists
29      *FIX: (gdcmHeaderHelper) GetRescale and GetSlope
30      *FIX: (gdcmElValSet) char 'tag' was overiding private members (VC++)
31
32 2003-11-10 Jean-Pierre Roux
33       *FIX : gdcmHeader::LoadElements is now based
34              on the ListTag listElem member,
35              not longer on the TagElValueHT tagHt member
36       *ENH : PrintPubElVal shows (temporarily) both results,
37              with the tagHt member and the listElem member.
38              (it's easier to 'see' the problems when using Printheader)
39
40       *FIX : old private member LgrElem is now splitted into
41              ReadLength   : Length actually found on disk (updated only
42                             if bug fixing is necessary), for internal
43                             use only
44              UsableLength : Updated by FixFoundLength, to fix a bug
45                             or to allow Parser going on.
46              Will allow to re-write a kosher header when a SeQuence
47              with a length (not 0000) is found
48       Warning : gdcmFile::Write still uses the TagHt (not ListElem)
49                 because gdcmElValSet::Add does not update ListElem
50                 (to be written)
51
52 2003-11-07 Jean-Pierre Roux
53      *FIX misstyping in Transfert Syntax name table
54      *ENH gdcmHeader::FixFoundLength now allow to 'go inside' tge SeQuences
55           when they have an actual length (not 0000 nor FFFFF)
56           (Nobody should care of it, but DICOMDIR explorers)
57
58 2003-11-06  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
59      *ENH: vtkgdcmViewer now works with LUT dicom (OT-PAL-face ...)
60
61 2003-11-05  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
62      *ENH: vtkGdcmReader now supports LUT !
63           (vtkgdcmViewer for now is not able to use them though)
64
65 2003-11-05 Jean-Pierre Roux
66      * in testSuite.py : new files names for checking the package
67      * Fix : Forgot to commit gdcmFile::GetImageDataSizeRaw();
68              that returns the pixel area size to the *aware* (vtk) user
69              that DOESN'T want to turn the PALETTE COLOR image into an RGB image
70
71 2003-11-05 Benoit Regrain
72      * in testSuite.py : Modify the rules for checking the paths
73                        : Explicit error messages
74      * in __init__.py  : Related modif
75
76 2003-11-03 Jean-Pierre Roux
77      * add gdcmHeaderHelper::GetNumberOfScalarComponentsRaw()
78            to be used by aware (vtk) users that want to manage
79            LUT (and no to turn the PALETTE image into an RGB pixels one)
80      * GetPixelType now returns 8U for 24 Bits images
81                     (vtkGdcmReader compliant)              
82            
83 2003-10-31 Jean-Pierre Roux
84      * Removal of *all* gdcmData images and add them again
85        in order to loose the 'history' of un-anonymised images
86        
87 2003-10-31 Jean-Pierre Roux
88      *RMV : removal of useless jBitsInJsample.h 
89            for both 8 and 12 Bits JPEG Lossy Libraries
90            
91 2003-10-31 Jean-Pierre Roux
92      * ENH : Add the functions gdcmFile::GetImageDataRaw 
93                                gdcmFile::GetImageDataIntoVectorRaw
94              that act as GetImageData and GetImageDataIntoVector
95              except the making of an RGB Plane from Gray Plane + LUT
96              Intended to aware (vtk) users who know how to manage 
97              such an image : 
98              After gdcmHeader :
99                 GetLUTRGBA return a R,G,B,A LUT if any
100                 lgrTotaleRaw gives the 'Raw' length
101                 GetImageDataRaw returns the gray Plane    
102      * FIX : no more dirty trick for 'Segmented xxx Palette Color Lookup' images
103              (They stay Grey, just like with other Dicom viewers :-(
104
105 2003-10-30 Jean-Pierre Roux
106      * FIX : a VC++ intended syntax modif broke the 12/12 Bytes expanding
107              
108 2003-10-29  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
109      *ENH: Can be used like this '$vtkgdcmViewer *.dcm' with *.dcm 
110            being coherents dicom files.
111      
112 2003-10-29  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
113      *FIX: DOH ! Forgot about windo$e users, they couldn't read lossless jpeg,
114            from medcon lib !
115      *ENH: Turn it into DOS file type to match libgdcmijpeg8.dsp file type 
116      *ENH: Two steps is necessary to please VC++ compiler...
117      *FIX: DOH ! libgdcmijpg8 -> libgdcmljpeg
118      *ENH: Add include dir to medcon lib
119      *FIX: only one function is being exported for now ! 
120            You should use GLOBAL(return type) see ljpg/jpeg.h for more info
121             
122 2003-10-29 Jean-Pierre Roux
123       * adding  gdcmHeader::GetLUTRGBA
124                returns a 4 * 256 Bytes Reg/Green/Blue/Alpha vtk compliant LUT
125                --> Mathieu, the modif u're waiting for is not yet committed
126       * removal of now useless GetLUTRed,GetLUTGreen,GetLUTBlue,GetLUTRGB
127       
128 2003-10-27 Jean-Pierre Roux
129       * adding some xmedcon breaker files (courtesy of Loïc Boussel) 
130  .              00191113.dcm DermaColorLossLess.dcm 
131                 MxTwinLossLess.dcm RadBWLossLess.dcm       
132        * ENH: For version prior to vtkImageViewer2 -r 1.19
133        * FIX: avoid pb with xmedcon-breaker CT McTwin Elscint images
134            
135 2003-10-27  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
136       * Removal of ido stuff in CMakeLists.txt
137                                                
138 2003-10-24  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
139       * ENH: vtkGdcmReader.cxx can now read multiframe dicom
140       * FIX: remove a call to ->Modified ... see comments
141       * FIX: vtkgdcmViewer.cxx was writting ASCII file...this is so slooooooow !
142       
143 2003-10-23  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
144       * FIX: Problem with path for libvtkgdcmPython
145       * ENH: Try adding a search script for python site-package
146       * RMV: Remove some file from medcon lib that are not necessary
147       * FIX: gdcm/Makefile.am fix for generating ljpg medcon
148       * ENH: CMakeLists.txt now generate 'pygdcm.so' instead of 'libpygdcm.so' 
149       * FIX: More pragma disable fro VC++, 
150              I don't think I break something as it is also disable in VTK/ITK. 
151              But it fasten debug compilation time.
152             
153 2003-10-23 Jean-Pierre Roux
154       * gdcm now deals with 16 Bits Run Length Encoded images
155         (they are compressed as 2 planes images, 
156          one for the high Bytes, the other for low Bytes)
157
158 2003-10-22 Jean-Pierre Roux
159      * Now CheckRead takes into account :
160             the bugged 'Leonardo' Siemens images
161             the XA images, sent thru the burning VPRO station
162      * add I9000001.dcm, a GE dlx XA image, thru the VEPRO burning station
163      (breaks DicomWorks)
164
165 2003-10-22  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
166       * FIX: When copying a Makefile.am to CMakeLists.txt 
167              one should remove the '\'
168              
169 2003-10-22 Jean-Pierre Roux
170       * in gdcmData adding a bugged 'Leonardo' Siemens image 
171         (wrong lengths in header)
172         OK with gdcm, KO with the other viewers :-)
173       * add a GE dlx XA image, thru the VEPRO burning station
174         (breaks DicomWorks)
175
176 2003-10-21 Jean-Pierre Roux
177       * in gdcmData add the checkvtkgdcmViewer.sh shell script 
178         for a brutal checking of vtkgdcmViewer compliance
179
180 2003-10-21 Jean-Pierre Roux
181       * add the files for 'xmedcon' Jpeg Lossless library
182       * call of 'xmedcom' Jpeg Lossles libray (instead of the old LibIDO one)
183
184 2003-10-21 Jean-Pierre Roux
185       * 'Compacted Files' (12 Bits Allocate, 12 Bits Stored) are now dealt with
186      
187 2003-10-21 Jean-Pierre Roux
188       * garbage Siemens 'Leonardo' images dealt with
189         (the patch is easy to remove)
190       * cosmetic changes to avoid warnings
191       
192 2003-10-20  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
193       * ENH: vtkgdcmViewer now autoscale color/window level on start-up, 
194         no need to press 'r' now.
195         
196 2003-10-20  Jean-Pierre Roux
197       * upgrade of checkRead.sh checkWrite.sh according 
198         to new Jpeg Lossless decompressor
199        * add US.3405.1.dcm, a genuine RGB medical file ...
200        * add gdcm-ACR-LibIDO.acr, unnormalized Rectangular LibIDO format image
201        * add CLIP0001-Sequoia-U11.dcm, US 'Clip', from SEQUOIA machine, 
202                                                   UNIT 11, Hop Cardio              
203 2003-10-15  Jean-Pierre Roux
204       * general anonymisation in gdcmData
205       * adding the 'color files' from
206          http://www.leadtools.com/SDK/Medical/DICOM/ltdc19.htm
207       * adding some well knowed bugged-header images
208       * adding checkRead.sk, checkReadColor.sh, checkWrite.sh,
209          waiting for their inclusion in Python testsuite
210
211 2003-10-15  Jean-Pierre Roux
212     * gdcmHeader::gdcmHeader(const char *InFilename, bool exception_on_error)
213       no longer seg faults when file is not found
214
215 2003-10-14  Jean-Pierre Roux
216      * Emprovement of reading for Dicom encapsulated Jpeg LossLess MultiFrame images
217
218 2003-10-14  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
219      * TODO: *.in file to genereate a UseGDCM later
220
221 2003-10-14  Jean-Pierre Roux
222      * Some supposed-to-be Dicom Images have no preamble.
223         OpenFile takes it into account
224      * Jpeg LossLess 24 Bits images doesn't break any longer gdcm
225      * Missing elements added in dicomV3.dic
226       (just to be affraid : have a look at
227        ftp://medical.nema.org/medical/dicom/2003/01v03dif/01v03_06.pdf
228        and do it again next year ;->
229
230 2003-10-13  Jean-Pierre Roux
231      * According to PS 3.3-2003 C.11.1.1.2 p 619, when each pixel of 
232        a PALETTE COLOR is stored on 2 Bytes, theese 2 Bytes must be equal.
233        But there are NOT. It's fixed !
234        
235 2003-10-13  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
236      * FIX: "jpeglib.h" was not found on VC++
237      * FIX: vtkgdcm was not being installed 
238          
239 2003-10-10  Jean-Pierre Roux
240      * ENH : OpenFile closes the file if it *really* doesn't look like
241              an ACR-NEMA / DICOM one.
242      * FIX : testWrite no longer writes an empty file if the source file     
243              is not gdcm Readable
244      * ENH : One more JPEG LossLess type "JPEG Baseline (Process 14)" 
245              is now decoded.
246              
247 2003-10-10  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
248      * FIX: CMake generate now documentation
249      * ENH: out of source doc build !
250      * ENH: Generate both user and dev documentation
251      * ENH: Should work on windows too
252      * ENH: Only one doxygen config.in file is needed 
253      * FIX: make install should be ok now on ùnix plateform
254      * FIX: PATH to dictionary was wrong (missing /)
255      * ENH: OpenFile, return true if the file looks like an ACR or DICOM file 
256                      
257 2003-10-09  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
258      * vtkGdcmReader is now able to read rgb dicom file.
259      * src/gdcmHeaderHelper : GetNumberOfScalarComponents()
260      * added a gdcmViewer to vtk test, use mouse to control 
261         window level & window width
262
263 2003-10-09  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
264      * CMake-ification of gdcm, we have now two build system
265      * FIX: on cygwin Wsock32 doesn't exist
266      * FIX: force jpeg dir to the local one (gdcm/src/jpeg)
267      
268 2003-10-06  Emanuel Ollart
269      * FIX : compilation process wad broken.
270              Changed gdcmViewer_sources to vtkgdcmViewer_sources
271              
272 2003-10-06  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
273      * change gdcmViewer -> vtkgdcmViewer
274      * change GetXSpacing and GetYSpacing "%f\\%" is parsed backward
275      
276 2003-10-06  Jean-Pierre Roux
277      * FIX :A few nasty patches to allow the reading of a lot of nasty images
278            ( e.g : well known GE images with a wrong elem length,
279                  : Philips MRI Images with a wrong Huffman table)
280       * still to be done : allow the reading of bugged LEONARDO Siemens images
281
282 2003-10-03 Jean-Pierre Roux
283       * Odd length strings are padded with '\0' (not with spaces, 
284         to remain compliant with already defined strings, 
285         like Transfert Syntax UID and others)
286
287 2003-10-03 Jean-Pierre Roux
288       * ENH :gdcmHeaderHelper::GetNumberOfScalarComponents() added, 
289              to allow displaying RGB images (not only by affim ;-)
290              
291 2003-10-03  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
292       * vtkGdcmReader is now able to read rgb dicom file.
293       * src/gdcmHeaderHelper : GetNumberOfScalarComponents()
294
295 2003-10-03 Jean-Pierre Roux
296       * A few nasty patches to allow the reading of a lot of nasty images
297         ( e.g : well known GE images with a wrong elem length,
298               : Philips MRI Images with a wrong Huffman table)
299       * still to be done : allow the reading of bugged LEONARDO Siemens images
300
301 2003-10-03 Jean-Pierre Roux
302       * One more JPEG LossLess type "JPEG Baseline (Process 14)" is now decoded.
303
304 2003-10-03 Jean-Pierre Roux
305       * gdcmHeaderHelper::GetNumberOfScalarComponents() added, 
306         to allow displaying RGB images (not only by affim ;-)
307
308 2003-10-03 Jean-Pierre Roux
309       * gdcmFile::GetImageDataIntoVector now
310          - deals with MultiFrames MultiFragments Run Length Encoded files
311          - deals with YcBcR (YBR_FULL) files
312          - deals with YBR_YBR_FULL_422 files (they work as RBG files ?!?)
313           WARNING : nothing was checked for YBR_PARTIAL_422, YBR_ICT, YBR_RCT files.
314           (no sample found :-(
315
316 2003-10-02  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
317       * src/*.cxx removed pragma thingies to src/gdcmCommon.h
318         Two reasons: - clear things
319                      - third parties acces gdcm through header files, so won't
320                      suffer anymore VC++ complains
321 2003-09-30  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
322       * add argv[1] in testvtkGdcmReader.cxx
323       * removed leaks
324                      
325 2003-09-24 Jean-Pierre Roux
326       * The lines are now eigthy characters long.for 
327         gdcmHeader.cxx gdcmHeaderHelper.cxx gdcmParse.cxx 
328
329 2003-09-22  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
330       * src/gdcmUtil.[cxx|h] : change the _CreateCleanString return value from
331         char* to std::string. Thus, the use of strdup becomes useless. (see
332         previous commis of Malaterre)
333       * src/gdcmElValSet.cxx : reuse commented call to _CreateCleanString like
334         before the last Malaterre's commit.
335
336 2003-09-19  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
337       * This commit should fix the Debug building under VC++, the problem
338         was mainly a mixture of debug and release lib being loaded at startup.
339       * I also remove a depency to a specific C function: strdup. Because I had
340         to force the link to msvcrtd (whereas strdup is in libc).
341
342 2003-09-16  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
343       * "gdcm::Unfound" string changed to a constant variable (GDCM_UNFOUND)
344         located in the gdcmCommon.h file. All use of reference of tha has been
345         changed to now use the variable GDCM_UNFOUND.
346
347 2003-09-16  Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
348       * Cosmetic changes:
349         - gdcmPython/testSuite.py adapted to the JPR updated Dicts/dicomV3.dic
350           Dicom dictionary. The test suite can now be run again. Note:
351           I'm note very happy with the " (RET)" changes. I believe this
352           RETAINED comment should be dropped when parsing the dictionary.
353         - PACKAGER corrected
354         - DEVELOPPER added.
355         - AUTHORS updated and now in alphabetical order
356       * Makefile.am now exports gdcm.dsw for Windoze users.
357
358 2003-09-11  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
359       * cygwin complains about missing std:: in subdir Test/
360
361 2003-09-10  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
362       * remove some methods that are now in gdcmHeaderHelper
363
364 2003-09-10  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
365       * vtkGdcmReader set spacing and origin correctly
366
367 2003-09-09  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
368       * Fix a few delete/delete[] mismatch
369
370 2003-09-08  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
371       * src/gdcmHeaderHelper.[h cxx]: added new class that provide an
372       interpretation to data given by gdcmHeader. For instance there are
373       heuristics to get informations (look at different places).
374       * it also include a specific class: gdcmSerieHeaderHelper devoted to
375       sorting DICOM images based on different strategies.
376       * modified Makefiles accordingly.
377
378 2003-09-05  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
379       * src/*.cxx : added pragma disable 4786/4251 to get rid of ~4300 warning
380         when building in debug mode
381       * vtk/win32/vtkgdcm.dsp : change /MT -> /MD and /MTd -> /MDd to match
382         src/win32/gdcmdll.dsp
383       * vtk/win32/vtkgdcm.dsp : added /nodefaultlib "mscvrt" for debug mode
384
385 2003-08-29  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
386       * Corrected a leak in vtkGdcmREader.cxx, the pSource was find thanks to valgrind.
387
388 2003-07-29  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
389       * src/win32/libgdcmjpeg12.dsp was not dos format
390       * src/win32/libgdcmjpeg12.dsp : libgdcmijpeg12_EXPORTS -> LIBGDCMIJPEG12_EXPORTS
391       * src/win32/gdcmdll.dsp: + /I "..\jpeg\libijg12"
392
393 2003-07-29 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
394       * src/gdcmHeader.h : add std:: prefix for stl elements... like others in
395         the file
396       * src/gdcmFile.cxx : bug fix in affectation type
397       * src/jpeg/libijpeg12/jmorecfg12.h : export for windows modified... like
398         in src/jpeg/libijpeg8/jmorecfg8.h (JPR : copy/paste exists !!!)
399       * Modifs of MVSC projects to compile them. Not concerning 2 identic
400         symbols... future problem ?
401
402 2003-07-29  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
403       * src/win32/libgdcmijpeg12.dsp was missing
404       * modified gdcm.dsw accordingly
405
406 2003-07-28  Mathieu Malaterre  <Mathieu.Malaterre@creatis.insa-lyon.fr>
407       * src/gdcmHeader.cxx : misplaced return 0.; for ACR/NEMA
408
409 2003-07-24 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
410       * src/jpeg/libijg12/.cvsignore, jconfig.* : ommited files while last
411         commit of JPR (before his hollidays to facilitate our work).
412       * setup.py : bug fix in code. Modifications made while the last commit
413         of JPR. The code hasn't been tested before the commit... it's so
414         useless to make that (for best programmer that is JPR) !!!
415
416 2003-07-08  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
417       * tagged the current version as Version0_3 (i.e. version 0.3)
418
419 2003-07-08  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
420       * vtk/testvtkGdcmReader.cxx : remove a symbol that is unused
421       * src/jpeg/libijg8/jmorecfg.h : adding export symbol for windows
422       * *.dsp : modifications to use new libgdcmijpeg8 library
423       * setup.py : bug fix on VTKPATH variable
424       * PACKAGER : adding all concerning windows
425
426 2003-07-07  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
427       * src/gdcmElValSet.cxx, gdcmFile.cxx: JPR bug fix, removal of
428         garbage debug code.
429       * TODO, vtk/vtkGdcmReader.cxx: upcoming fixes comments.
430       * gdcmPython/testSuite.py: JPR bug fix, brutal erasement of
431         test suite reported error.
432       * PACKAGER file added (describes what a packager must do when
433         packaging a new release).
434       * MANIFEST.in, now declares jconfig.linux and jconfig.vc
435       * configure.in: upgraded version number to 0.3.0
436       * fixing build of rpm (through rpm -ta):
437         - Doc/Makefile.am exports proper doxygen files
438         - src/jpeg/libijg8/Makefile.am exports the include files.
439
440 2003-07-07  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
441       * vtk/vtkGdcmReader.cxx : bug fix when loading only 1 file.
442       * src/gdcmHeader.h : formatting code
443
444 2003-07-07  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
445       * vtk/vtkGdcmReader.[cxx|h] : bug fix when loading only one file.
446         We were obtaining error message from vtk. Now, creation of file list
447         is made in an internal list to prevent this problem.
448         Bug fix when output is empty.
449         Bug fix in update of progress value. Previous commit for this was a bad
450         correction.
451       * vtk/vtkGdcmReader.h : adding comments for InternalFileNaleList variable
452
453 2003-07-04  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
454       * src/gdcmHeader.h : added method to get the file name
455       * vtk/vtkGdcmReader.[cxx|h] : bug fix concerning loading of bad dicom
456         files. Added method to remove all files on the input
457         Added FIXME comment concerning the bad parsing of header made by
458         ExecuteInformation method (in ExecuteData method)
459
460 2003-07-03  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
461       * vtk/Makefile.am: vtkGdcmReader.h should now be cleany installed
462         when using make instal.
463       * src/gdcmFile.cxx : bug fix under Window after JPR commit
464         RQ : the JPR doesn't appear in the ChangeLog... normal for him
465
466 2003-07-03  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
467       * setup.py : adding include dir of jpeg lib to compile all sources
468       * */Win32/*.dsp : JPR fix for windows compilation
469
470 2003-07-02  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
471       * src/jpeg/libijg8/jconfig.* : JPR bug fix : now compile on both
472         linux and WINDOWS !
473       * src/gdcmJpeg.cxx : JPR bug fix : erroneous include
474       * src/win32/gdcmdll.dsp : JPR fix for windows compilation
475
476 2003-07-02  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
477       * setup.py is again effective on un*x (takes into account the
478         addon of the jpeg library)
479       * Doc/DoxyDevelInstal.txt added (developper's raw documentation)
480       * Doc/Doxy* updated (includes above enhancements)
481       * INSTALL now points to web documentation
482
483 2003-07-01  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
484       * src/gdcmHeader.h doesn't make unnecessary reference to
485         gdcmUtil.h anymore.
486       * gdcmPython/Makefile.am now avoids calling the wrappers for the
487         clean target.
488       * src/gdcm*.[cxx|h] :
489         - to allow compilation with gcc 3.x
490           -- clean up of STL usage (added explicit usage of std::)
491           -- small fixes on exceptions.
492           Note: linking not tested !
493         - clean of doxygen comments to avoid warnings at documentation
494           building stage.
495       * vtk/vtkGdcmReader.cxx: g++ warning message clean up (platform
496         dependent convertion).
497
498 2003-06-20  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
499       * Clean up of previous JPR garbage commit (not even commented in the
500         Changelog):
501         - Test/Makefile.am removed the reference to unexisting testTS.cxx
502         - moved all jpeg related files from src to src/jpeg/libijg8, with
503           addition/modification of Makefile.am and configure.in.
504         - the testSuite is still brain damage (not guilty).
505
506 2003-06-02  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
507       * WrapVTK.py : modifications to get correctly vtk source files to
508         compile
509       * vtk/vtkGdcmReader.cxx : modification for an already existing name
510         (FileName -> Filename)
511
512 2003-06-11  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
513       * vtk/vtkGdcmReader.[cxx/h]:
514         - UpdateProgress method should now be effective
515         - removed the limitation on having only images loaded (as opposed
516           to volumes),
517         - when building a stack of images/volume, a lesser number of
518           gdcmHeader and gdcmFile instances should be used (hopefully
519           accelerating things).
520         - when building a stack of images/volumes, files which are not
521           loadable (wrong path-filename, wrong permissions on existing file,
522           or file not parsable by gdcm) are replaced with a black image
523           in the stack (for the caller to notice the problem).
524
525 2003-06-03  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
526       * vtk/vtkGdcmReader.cxx: hopefully corrected Z extent.
527
528 2003-06-02  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
529       * vtk/vtkGdcmReader[cxx|h] : makes correct code to remove conflicts
530         between standard library (std) and vtk library (problems are found
531         under Windows... thanks Windows !)
532
533 2003-05-30  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
534       * vtk/vtkGdcmReader[cxx|h] should now be volume aware (read ready for
535         debug stage).
536       * gdcmPython/demo/vtkGdcmReader.py: commented lines for volume test
537
538 2003-05-29  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
539       * vtk/vtkGdcmReader[cxx|h] preparation addons for loading volumes.
540
541 2003-05-28  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
542       * When compiling with distutils (see setup.py) the C++ compiler is
543         called with different flags than the default ones (with automake).
544         In order to fix all those warning, I compiled gdcm with the command
545            make 'CXXFLAGS=-Wall -Wstrict-prototypes -D__STDC_LIMIT_MACROS'
546         and went for warning fixes:
547         - src/gdcmHeader.cxx, Test/dcm2acr.cxx, pourFindTaggs.cxx cleaned
548           up from unused variables.
549         - vtk/vtkGdcmReader.cxx: potential bug fix.
550       * src/gdcmHeader.h: Doxygen warning cleanup
551
552 2003-05-27  Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
553       * gdcmPython/gdcm.i:
554         - typemaps correction to take into account the systematic replacement
555           of "using namespace std" with std:: prefix e.g. std::list,
556           std::string... (cf changes of 2003-05-21).
557         - gdcmGlob global variable of type gdcmGlobal (defined in
558           src/gdcmUtil.cxx and declared in gdcmPython/gdcm.i) is now
559           exported to Python a as cvar.
560       * gdcmPython/__init__.py now defines two functions GetPubDictTagNames()
561         and GetPubDictTagNamesByCategory() as a replacement for deprecated
562         gdcmDictSet.GetPubDictTagNames() and
563         gdcmDictSet.GetPubDictTagNamesByCategory() class functions (i.e.
564         C++ static methods).
565       * gdcmPython/demo/printGroupedPublicDict.py is operational again,
566         with the above changes.
567
568 2003-05-22  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
569       * setup.py, manifest.in : bug fix under linux
570
571 2003-05-22  Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
572       * Modification of setup.py to compile vtk part too. Then, we have 2
573         wrappers which must work with same distutils. For that, we have a
574         generic distutils in distusiltsWrapping.py ; with :
575          - build_extWrap class to wrap generically all extensions,
576          - ExtensionWrap base class for all wrapping extension that contains
577            a wrapper
578          - Wrapper interface which wrap sources
579         + In WrapSwig.py  we have extension and wrapper for Swig
580         + In WrapVTK.py  we have extension and wrapper for VTK
581       * MANIFEST.in : modifications to consider vtk directory and new python
582         files for compilation
583
584 2003-05-21  Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with Benoit Regrain
585       * Added python wrappers of vtkGdcmReader vtk class (see the
586         source in vtk/vtkGdcmReader.cxx) :
587         - vtk/Makefile.am now builds a library
588         - gdcmPython/Makefile.am now builds vtkgdcmPython a second import
589           python library (as opposed to _gdcm.so wich are the python
590           wrappers of gdcm). vtkgdcmPython.so uses the vtk python wrappers
591           (vtkWrapPython and vtkWrapPythonInit utility) to build vtkgdcmPython
592           import library.
593         - configure.in has an additional flag --enable-vtk that needs
594           to be set to enable compilation of vtk related code, that is:
595           + vtk/vtkGdcmReader.so and
596           + vtk/testvtkGdcmReader C++ demo of vtk wrappers of gdcm)
597           + gdcmPython/vtkgdcmPython.so (see above)
598         - gdcmPython/demo/vtkGdcmDemo.py corrected (some images cannot
599           be read when compressed or when HighBit + 1 != BitsStored),
600         - gdcmPython/demo/vtkGdcmReader.py added. This demo illustrates
601           the usage of the python wrapper of vtkGdcmReader vtk class.
602       * vtk/vtkGdcmReader.cxx: bug fixed (thanks to Benoit Regrain).
603       * src/*.[h] all occurences of stl classes are now prefixed with
604         std::, and all occurences of "using namespace std;" where removed.
605         This is to avoid pollution of global namespace in included files.
606         Apparently vtk does not avoid this pitfall: when using both
607         gdcm and vtk (as in vtk/vtkGdcmReader.cxx) this ended up in a
608         collision of various stl members (principally cout...).
609       * gdcmPython/testSuite.py now cleanly removes temprory generated
610         file.
611       * gdcmPython/gdcm.i now declares a typemap for std::string (to
612         comply with above changes)
613
614 2003-05-12  Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
615       * src/gdcmHeader>[h/cxx] added gdcmHeader::GetPixelSize()
616       * vtk/vtkGdcmReader.cxx now properly inports the image in the
617         vtk data structure (an image Flip was required).
618       * vtk/testvtkGdcmReader.cxx refers to gdcmData subdir instead of Data.
619       * cosmetic changes in documentation.
620
621 2003-05-7  Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
622       * src/gdcmHeader.cxx: the constructor no longer exits when an
623         unexisting file is given as argument.
624       * The subdirectory Data (containing all the images used for the
625         test suite) is not part of this repository anymore. A new module
626         containing those images is now available at
627           :pserver:xxx@cvs.creatis.insa-lyon.fr:2402/cvs/public
628         with the name gdcmData.
629         All the python scripts (including the package initialisation file
630         gdcmPython/__init__.py) were adapated to take this change into
631         account (basically GDCM_DATA_PATH is now GDCM_TEST_DATA_PATH).
632
633 2003-05-5  Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
634       * vtk subdir added. Contains vtkGdcmReader.[cxx|h] a vtk class
635         inherinting from vtkImageReader and testvtkGdcmReader.cxx a small
636         demo of the usage of this class.
637         Compilation of this vtk part is only done when using the --enable-vtk
638         at configure (or autogen.sh) stage.
639
640 2003-04-16  Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
641       * More memory link related corrections and documentation fixes.
642         Notes on valgrind:
643           - maximum info is obtained with a command of the form:
644             valgrind --leak-check=yes --leak-resolution=high --num-callers=40
645                    --show-reachable=yes PrintHeader
646           - the remaining reachable blocks seem to come from the STL
647             allocation scheme through the usage of map and list. It looks
648             like this memory cannot be freed but it is not a memory leak
649             (in fact further invocation to the STL would recollect the
650              unused memory allthough it cannot explicitely be freed).
651       * gdcmPython/demo/vtkGdcmDemo.py added: this is a small demo
652         of displaying an image parsed with gdcm and displayed with VTK.
653         Note: some images don't seem to work e.g.
654             python vtkGdcmDemo.py  ../../Data/US-RGB-8-esopecho.dcm
655       * src/gdcmHeader.x: dicom_vr and Dicts are not class members anymore.
656         Allthough this weakens the semantics, it is a ditch attempt to
657         make gdcm more thread friendly.
658
659 2003-04-15  Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
660       * Memory link hunt (by using valgrind through the command
661           valgrind --show-reachable=yes --leak-check=yes PrintHeader).
662         - added src/gdcmVR.cxx gdcmVR.h that objectify the previous
663           gdcmHeader::_dicom_vr.
664         - gdcmHeader::InitVRDict transfered as gdcmVR::gdcmVR().
665         - gdcmHeader::dicom_vr is now of type gdcmVR* as opposed to
666           VRHT*.
667         - gdcmGlobal global object contained class added (see src/gdcmUtil.x)
668
669 2003-04-9  Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
670       * src/Makefile.am now exports all the necessary include files at
671         make install stage.
672
673 2003-04-9 JPR
674       * UpdateGroupLength replaced by new one
675
676 2003-04-7 JPR
677       * UpdateGroupLength re-written using H-Table
678         (named UpdateGroupLengthNew untill checks are over)
679
680 2003-04-7 Eric Boix <Eric.Boix@creatis.insa-lyon.fr> with JPR
681       * Data/im_00001 renamed to gdcm-MR-PHILIPS-16-Multi-Seq.dcm
682       * gdcmPython/testSuite.py now include a test of gdcmFile::Write.
683       * src:
684         - gdcmHeader::GetPubElValSet removed.
685         - gdcmElValSet::WriteDcm, WriteAcr, WriteExplVR, revamped to
686           UpdateGroupLength, WriteElements, Write.
687         - gdcmHeader::FileType moved to gdcmCommon.h. The enum FileType
688           doesn't contain TrueDicom anymore since ExplicitVR and ImplicitVR
689           carried the same semantics.
690           - src/gdcmHeaderIdo.cxx changed accordingly.
691         - gdcmFile::WriteBase now regroups all the codes from previous
692           versions of WriteDcm, WriteDcmImplVR, and WriteACR.
693         - enum FileType moved to gdcmCommon.h
694       * src/gdcmHeader.cxx AddDefault trashed
695       * gdcmGetXSize added
696       * getimageDataSize now calls gdcmGetXSize
697       * Test/*.cxx changed to agree with above changes
698
699 2003-03-31 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
700       * src/gdcmHeader.h: LoadElements() is not a public method anymore
701         (to avoid double call by end user).
702       * Test/*.cxx LoadElements() doesn't need to be called explicitely
703         by end user, since gdcmHeader::gdcmHeader now handles it.
704
705 2003-03-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
706       * gdcm/Doc many doxygen changes:
707         - Doxyfile now has two different versions, DoxyfileUsers that generates
708           the html.users end users oriented documentation and
709           DoxyfileDeveloppers that generates the html.developper developper
710           oriented documentation.
711         - README changed accordingly
712         - requirement.txt removed (old design info moved to TODO).
713         - Additional files DoxyInstallation.txt, DoxyIntroduction.txt,
714           DoxyMainPage.txt, DoxyPython.txt provide more information.
715         - Note: the website http://www.creatis.insa-lyon.fr/Public/Gdcm/ can now
716           be updated by simply regenerating the docs with doxygen and copying
717           html.developper and html.users to tux:/home/httpd/html/Public/Gdcm
718       * src/gdcmElValSet.cxx: stl <map>.count() can only return 0 or 1. Hence
719         all the tests in the form "if (<map>.count() >1)" were removed.
720       * src/gdcmFile.cxx: cosmetic changes to avoid messages of doxygen about
721         ill-formed documentation sections.
722       * src/gdcmHeader.cxx: ditto
723
724 2003-03-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
725       * setup.py fixed for un*x (needed macro for stdint.h)
726       * Test/test.cxx renamed to PrintHeader.cxx to avoid collision on
727         un*ces with sh-utils test utility.
728       * gdcmPython/demo/test.py renamed to PrintHeader.py
729       * gdcmPython/demo/ReorganiseFiles.py new demo script added.
730       * gdcmPython/win32/gdcmpycomplet.dsp renamed to gdcmpyembedded.dsp.
731       * gdcmPython/win32/gdcmpy.dsp trashed away (brain damaged).
732       * src/gdcm*.cxx JPR's bad inclusion fixed.
733
734 2003-03-26 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
735       * src/gdcmHeader[h, cxx] gdcmHeader now has an IsReadable predicate.
736       * gdcmPython/demo/test.py changed accordingly.
737
738 2003-03-25 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
739       * gdcmPython/Makefile.am fixed linking against libstdc++
740       * gdcmPython/_gdcm.so symbolic link to gdcmPython/.libs/pygdcm.so added.
741       * Swig subdir (historical tests of swig version 1.3.17++) removed
742       * Test/testChangeEntete.cxx some lines commented out in order to make
743         compilation work.
744       * src/gdcmHeader.cxx cleaned up wild JPR's dirty kludge.
745       * src/gdcmElValSet.cxx cleaned up frog's forgotten debug message
746
747 2003-03-24 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
748       * src/gdcmHeader.cxx gdcmHeader::gdcmHeader now calls LoadElements(),
749         hence the user doesn't need this explicit call.
750         - gdcmPython/testSuite.py, gdcmPython/demo/*.py changed accordingly
751           i.e. LoadElements() call removed.
752       * src/gdcmCommon.h now defines UINT32_MAX (see stdint.h).
753         - src/Makefile.am declares the proper flag for g++.
754       * src/gdcmElValSet.h added gdcmElValSet::GenerateFreeTagKeyInGroup
755         for adding user defined new tags.
756         - src/gdcmHeader.cxx gdcmHeader::NewManualElValToPubDict added.
757         - src/gdcmHeader.cxx gdcmHeader::AddAndDefaultElements now
758           cleanly adds some gdcm added tags (like gdcmXSize, gdcmYSize...)
759
760 2003-03-17 Fabrice Bellet <Fabrice.Bellet@creatis.insa-lyon.fr>
761       * Makefile.am, acinclude.m4, configure.in, python.m4, Dicts/Makefile.am,
762         Doc/Makefile.am, Test/Makefile.am, gdcmPython/Makefile.am,
763         src/Makefile.am : the project should properly compile and install
764         with the autotools, included the python wrappers part.
765       * gdcm.spec.in : added a spec file for RPM packaging.
766
767 2003-03-14 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
768       * src/gdcmUtils.cxx : redifinition of defaults parameters in code
769
770 2003-03-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
771       * gdcmPython/__init__.py fix of GDCM_DICT_PATH which was not
772         to exported to the environement (see gdcmPython/testSuite.py
773         for usage).
774       * src/gdcmElValSet.[cxx/h], gdcmElValue.[cxx/h], gdcmFile.[cxx/h],
775         gdcmHeader.[cxx/h]: ElValSet class renamed to gdcmElValSet, and
776         ElValue class renamed to gdcmElValue for obvious consistency reasons.
777       * src/gdcmElValSet.cxx, src/gdcmUtil.[cxx-h] Tokenize utility function
778         moved away from gdcmElValSet.cxx to gdcmUtil.cxx.
779
780 2003-03-10 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
781       * gdcmPython/__init__.py doesn't crash anymore when running in
782         in InstallMode or PreInstallMode but with an environement given
783         value of GDCM_DICT_PATH.
784       * src/gdcmDictSet.[cxx/h] coding style.
785
786 2003-03-06 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
787       * src/gdcmHeader.h and gdcmHeader.cxx Coding style + doxigenation.
788       * src/gdcm.h general comments moved to TODO, and README
789       * src/gdcm.h should now be seen as a user commodity (including it
790         should suffice to fully use gdcm). It is nowhere including within
791         any of the kernel files src/*.cxx and src/*.h.
792
793 2003-03-05 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
794       * src/gdcm.h splitted in gdcmCommon.h, gdcmDict.h, gdcmDictEntry.h,
795         gdcmDictSet.h, gdcmElValSet.h, gdcmElValue.h, gdcmFile.h,
796         gdcmHeader.h
797       * src/gdcm*.cxx only include their corresponding include file
798         (as opposed to gdcm.h)
799       * gdcmPython/gdcm.i changed accordingly
800       * Test/Makefile.am corrected and added NEWS, AUTHORS in order for
801         the autogen.sh generated "make snapshot" command to work.
802       * autogen.sh removed history related references to crea package.
803
804 2003-03-04 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
805       * distutilsSwigCPlusPlus.py work around some swig portability
806         bug.
807
808 2003-03-03 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
809       * Eventually, python/gdcmPython was renamed to gdcmPython. This
810         was done in a last ditch attempt to get setup.py _really_
811         operationnal. The python/gdcmPython layaout add the advantage
812         of hidding away the python related distutils specific files
813         (MANIFEST.in, setup.py, distutils*.py...) from the main directory.
814         Alas, the src directory was out of scope (i.e. it's relative
815         position to setup.py was ../src) which made things impossible to
816         handle (see previous version of python/setup.py). Crossing fingers...
817
818 2003-02-20 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
819       * python/setup.py now works on Un*x. (harder than I thougth)
820       * python/distutilsSwigCPlusPlus.py can now have include files
821         among the list of sources.
822
823 2003-02-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
824       * src/gdcmHeader.cxx : bug fix - opening dicom file in binary !!!
825       * modifications in MSVC projects
826
827 2003-02-19 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
828       * As stated by the first lines of Test/ExceptionAndPython/README, it
829         looks like we can move back to original usage of exception within
830         src/gdcm* and hence remove the errno stuff that was introduced
831         as a quick and dirty fixture of this problem (added to the TODO).
832       * Doc/Doxyfile configuration file for Doxygen and corresponding
833         README file for usage added.
834       * Test/testWrite.cxx added. This new test comes from a split of
835         test.cxx that is now reverted to its original purpous i.e.
836         testing the proper parsing of a Dicom related file.
837         testWrite.cxx concentrates on testing the IO part of gdcm.
838       * Test/bug1.cxx (containing a bug on WIn32) added.
839       * src/gdcm.h, gdcmHeader.cxx, gdcmDictSet.cxx:
840         - gdcmHeader::GetPubTagNames and  gdcmHeader::GetPubTagNamesByCategory
841           whose purpose is to publish the content of the TagNames of the
842           Dicom public dictionnary were not accessible without an
843           instance of class gdcmHeader.
844         - those methods are now static methods of gdcmDictSet and hence
845           require no instances at all to be invocated.
846         - within gdcmDictSet this change required to change some method
847           to class methods (i.e. are now static) among which SetDictPath
848           (renamed to BuildDictPath) and LoadDefaultPubDict.
849       * python/gdcmPython/demo/printGroupedPublicDict.py changed to illustrate
850         the above changes by calling the new method classes of gdcmDictSet.
851       * python/gdcmPython/__init__.py now exposes gdcm.gdcmDictSet for
852         the above to be effective.
853       * python/gdcmPython: in order to wrap properly the above changes
854         for Python, swig version now needs to be > 1.3.17.
855       * python/gdcmPython/Makefile fixed to adapt itself to new
856         configure/make shema introduced by Johan Montagnat (thanks for the
857         contribution). Alas this Makefile cannot be turned into a proper
858         Makefile.am without some heavy changes in the configure.in
859         (for python dectection).
860       * python/gdcmPython/gdcm.i: the out typemap map<string, list<string>>*
861         now avoids publishing the empty entries.
862
863 2003-02-13 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
864       * python/setup.py : bug fix concerning install under windows
865         ExtraPath reused :-P
866       * gdcm.dsw : bug fix concerning path for libraries for python !!!
867
868 2003-02-13 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
869       * Dicts/dicomV3.dic : remove double spaces !!!
870       * src/gdcmElValSet.cxx : bug fix concerning windows compiler
871       * python/gdcmPython/win32/gdcmpycomplet.dsp : bug fix concerning paths
872         and links
873
874 2003-01-28 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
875       * src/gdcmHeader.cxx added a post header parsing AddAndDefaultElements
876         method. Doxygenation.
877       * src/gdcm.h clean up of JPR spurious comments.
878
879 2003-01-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
880       * python/distutilsSwigCPlusPlus.py now properly collects the
881         shadow classes generated by "swig -c++" (gdcm.py in our case)
882         when using "python setup.py install".
883       * python/gdcmPython/__init__.py imports gdcm.py and only manually
884         reexports the working classes.
885       * src/gdcmHeader.cxx all the try/catch/throw calls were replaced
886         by the classical C errno scheme. This is to prevent an obscure
887         behavior of the python wrappers when importing wxPython.wx prior
888         to gdcmPython (which ended up in an abort call). An illustration
889         of this oddity can be found in the Test/ExceptionAndPython
890         subdir (see the README file). This problem probably due to
891         an combination of g++ and dynamic loading.
892       * added Test/ExceptionAndPython (see above)
893
894 2003-01-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
895       * Changed the layout of the python part to avoid bloating main
896         directory with setup.py, distutilsSwigCPlusPlus.py, MANIFEST.in
897         i.e. the distutils arsenal. All the python related stuff is
898         again in a python subdir, but the package itself is now in
899         python/gdcmPython.
900       * setup.py was cleaned up:
901         - pythonIncludePath removed
902         - python setup.py bdist target is now functional.
903       * gdcmPython/__init__.py doesn't export FileName any more (to avoid
904         collision with other packages). gdcmPython/demo/*.py changed
905         accordingly.
906
907 2003-01-15 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
908       * python subdir moved to gdcmPython (preparation of distutils packaging).
909       * gdcmPython/setup.py and distutilsSwigCPlusPlus.py added. The
910         distutils installer is operational.
911       * - gdcmPython/__init__.py now properly loads the swig generated
912           shadow classes (from gdcm.py).
913         - gdcmPython/demo/*.py changed to import the package gdcmPython
914           instead of gdcmPython/demo/load.py.
915         - gdcmPython/testSuite.py changed to import the package gdcmPython.
916
917 2002-12-16 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
918       * src/gdcm.h, src/gdcmHeader.cxx: added GetPubTagNames() resp.
919         GetPubTagNamesByCategory() to gdcmHeader that return a list of the
920         entries within the associated public Dicom dictionary resp. the same
921         information but sorted by the fourth field (PAT, IMG, DIR) of the
922         dictionary.
923         - Dicts/dicomV3.dic Entries which had and unspecified fourth field
924           are now in the "???" group.
925         - python/gdcm.i changed accordingly,
926         - python/demo/printGroupedPublicDict.py added, that gives an example
927           of the above new functionalities in Python.
928
929 2002-12-11 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
930       * src/gdcm.h, gdcmHeader.cxx:
931         - historic references to glib's g_malloc and g_free (#defined)
932           were definitively removed.
933         - gdcm.h: cosmetic changes (part of comments moved to Doc/requirements)
934       * src/gdcmElValSet.cxx:
935         - GetElement(guint32, guint32) renamed to GetElementByNumber.
936         - GetElValue(guint32, guint32) renamed to GetElValueByNumber.
937         - GetElValue(string) renamed to GetElValueByName.
938         - Added GetElementByName(string).
939       * src/gdcmHeader.cxx: added
940         - GetPubElValRepByNumber(guint16, guint16)
941         - GetPubElValRepByName(string)
942         - GetShaElValRepByNumber(guint16, guint16)
943         - GetShaElValRepByName(string)
944         - GetShaElValByNumber(guint16, guint16)
945         - GetShaElValRepByName(string)
946         - GetElValRepByNumber(guint16, guint16)
947         - GetElValRepByName(string)
948         - GetElValByNumber(guint16, guint16)
949         - GetElValRepByName(string)
950       * Doc/requirements.txt added.
951
952 2002-12-9 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
953       * Test/Makefile building now depends on the one of libgdcm.so
954       * src/gdcmHeader.cxx and gdcm.h are now OB (undefined length encoded
955         pixel data) aware which enables finding the address (offset) of
956         the pixel data of JPEG encoded DICOM files. This leaves only a single
957         file in the testSuite whose pixel data address (offset) is unknown.
958       * python/testSuite.py changed accordingly.
959
960 2002-12-6 Christophe Odet + Hugues Benoit-Cattin + Eric.Boix
961       * VC++ has some strong limitations when working with the STL, as stated
962         in http://support.microsoft.com/support/kb/articles/Q168/9/58.ASP :
963              "Also note that some STL containers (map, set, queue, list, deque)
964               cannot be exported. [...]
965               Some STL classes contain nested classes. These classes can not
966               be exported. [...]
967               This is caused by a designed limitation that once a template
968               class is instantiated, it can not be re-instantiated and
969               exported."
970         Since our usage of map<> is ubiquitous in gdcm, this "designed
971         limitation" of VC++ is a pitfall.
972         Hence the Python wrappers of gdcm cannot be incrementally linked
973         against the c++ dynamic library. The dirty but only workaround is
974         to forget about incremental link of dynamic libraries and to generate
975         the Python wrappers library with the inclusions of the underlying C++
976         library.
977         The following modifications concern this matter on Win32/VC++:
978       - wrapping python correct with standalone wrapped dll (don't use separate
979          dll under windows !!!!)
980       - python21_d debug mode enabled (ask Frog how to use it :-)
981       - NO problem with having an STL member of class for example string in C++
982         WITH THE RESTRICTION OF FORGETING ABOUT INCREMENTAL LINK.
983       - Python test of dcmlib in Python is ok under windows on a large set
984         (one) of image(s).
985       * removed glib references
986       * typedef's inserted in gdcm.i for correct swig type management
987
988 2002-11-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
989       * python/demo/*.py load.py extracted from test.py. Added explore.py
990         that only displays required tags and testAll.py that parses all
991         the files of the testsuite without using unittest.
992       * python/testSuite.py other additional test on new files added.
993       * Data/* new test files added accordingly to the testSuite.
994       * src/gdcmHeader.cxx avoid overwriting of the dictionary when
995         the vr in the file differs from the one of the dictionary.
996
997 2002-11-20 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
998       * src/gdcm.h and gdcmHeader.cxx gdcm no longer loads all the elements
999         values, but limits itself to values which are below a user specified
1000         size (by default 1024 bytes).
1001       * python/gdcm.i : elements not loaded (because their size is above the
1002         user specified treshold) are exported with their TagKey as key of the
1003         python dictionary. This enables the testsuite to make some checks
1004         on the unloaded elements (since we have their offset and size).
1005       * python/testSuite.py
1006         - now tests for the existence and proper value of the pixel data
1007         - two new examples added.
1008       * Data/gdcm-MR-SIEMENS-16.acr[12] added.
1009
1010 2002-11-18 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1011       * src/gdcm.h and gdcmHeader.cxx are now "Big Endian transfer syntax"
1012         aware. See the strategy comments in gdcmHeader::FindeLength().
1013       * Test/test.cxx now accepts a filename as first argument.
1014       * Data/US-PAL-8-10x-echo.dcm and US-RGB-8-epicard.dcm added.
1015       * python/testSuite.py changed to integrate test on above files.
1016
1017 2002-11-15 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1018       * Dicts/dicomV3.dic removed all the trailing (RET) when the
1019         the vr was also RET.
1020       * python/testSuite.py more tests added.
1021
1022 2002-11-14 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1023       * python/testSuite.py unittest test suite added (uses Data)
1024       * Data/* dcm and acr files for the test suite.
1025       * glib dependance removed from un*x version. We now use ISO C99
1026         7.18 Integer types (see stdint.h)
1027         - python/Makefile, src/Makefile src/gdcm.h
1028       * src/ when an explicit vr (like dicom files) suddenly poped an
1029         implicit element we use to mark the underlying DictEntry of the
1030         concerned ElValue with "Implicit". This strategy was damageable
1031         too the public or provite dictionaries, since some of their vr
1032         would be changed. Since Header::FindLength heavily relies on the
1033         detection by Header::FindVR of falsely explicit elements, I
1034         added an extra ImplicitVr member to ElValue (boolean).
1035         The rest of the changes we the necessary adaptations.
1036
1037 2002-11-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1038       * src/gdcmHeader::FindLength bug fix when trapping falsely explicit
1039         VR files.
1040       * src/gdcmHeader::FindVR: hard way fix of falsely explicit vr files.
1041
1042 2002-11-8 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1043       * Adaptation for porting to VC++:
1044         - src/gdcm.h
1045           o forced to use std namespace (for string to be known)
1046           o all class use __declspec export style on WIN32
1047         - src/gdcmUtil.cxx new Exit method that wraps the exit call
1048           (in stdlib.h on Win32 but in std:: for gcc)
1049       * src/gdcmDictSet::SetDictPath adds a trailing / to environement
1050         variable GDCM_DICT_PATH.
1051       * src/gdcmHeader.cxx verbose comments made discrete.
1052
1053 2002-11-7 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1054       * python/gdcm.i: added a typemap that converts a C++ hashing table
1055         to native Python dictionary.
1056       * python/demo/test.py:
1057         - now uses the native dictionary for exploration of gdcmHeader.
1058         - takes an optional filename argument (the file to parse).
1059       * src/gdcm.h and gdcmHeader.cxx: gdcmHeader now has an accessor on
1060         PubElVals hashing table.
1061       * Dicts/dicomV3.dic removed error prone trailing spaces.
1062
1063 2002-11-6 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1064       * Python wrapping process moved away from src/Makefile to
1065         newly created python/Makefile (as well as gdcm.i)
1066       * python/demo/test.py (that mirrors Test/test.cxx) is effective.
1067       * src/gdcmHeader::FindLength only looks for current vr when necessary.
1068       * src/gdcmDictSet.cxx: the dictionnaries directory path is now imported
1069         from the environement variable GDCM_DICT_PATH (when existing).
1070       * src/gdcmDict::GetTag bug fix.
1071
1072 2002-10-31 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1073       * Straightforward temporary fixes for swig to build the python wrappers.
1074         src/Makefile now has a python working entry [by working we mean
1075         that we can import de shadow classes without errors].
1076
1077 2002-10-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1078       * hashtest.cxx removed (since allready in Test)
1079       * src/gdcmlib.h renamed to src/gdcm.h
1080       * src/dcm.i renamed to src/gdcm.i
1081       * src/Makefile prepared for python wrapping
1082
1083 2002-10-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1084       * src/gdcmHeader.cxx :
1085         - Parsing of header is now separated from loading of element values
1086           (see gdcmHeader::LoadElements).
1087         - general clean up of hopefully all file access (creation of
1088           ReadInt16 and ReadInt32)
1089
1090 2002-10-22 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1091       * src/gdcmHeader.cxx :
1092         - RecupLgr renamed to FindLength and cut off with new IsAnInteger
1093           method.
1094         - SetLgrElem renamed to SetLength
1095         - GetLgrElem renamed to GetLength
1096         - ~gdcmHeader() made virtual to pesky warning messages at compile.
1097       * src/gdcmElValSet.cxx fixed both GetElValue methods
1098       * Dicts/dicomV3.dic falacious entry [7fe0 0010 OT PXL Pixel Data]
1099         due to IdoDude was cleaned out.
1100
1101 2002-10-21 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1102       * src/gdcmHeader.cxx RecupLgr split in FindVR and RecupLgr. FindVR
1103         concentrates on finding the value representation (when it exists).
1104         RecupLgr now only finds the element value length, and it avoids
1105         returning the unecessary skL (skipped length).
1106         Also, offsetCourant was simply removed (with taille_fich) since
1107         it was redundant with the File position internals (by using
1108         ftell and fseek). This also made skL (see above in RecupLgr) usage
1109         jajun.
1110       * src/gdcmHeaderIdo.cxx src/gdcmIdo.h added. Those files concentrate
1111         on the libido specificities which are handled through class
1112         inheritance.
1113       * Test/implicit_vr.dcm dicom v3 in implicit value representation
1114         added.
1115
1116 2002-10-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1117       * Truckload of changes. Parsing of header is barely functional
1118         (see Test/test) with the standard dictionary (see Dicts/dicomV3.dic).
1119
1120 2002-10-10 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1121       * src/gdcmHeader.cxx many addons of low level methods
1122
1123 2002-10-07 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1124       * src/gdcmHeader now contains_IdDcmCheckSwap, _IdDcmRecupLgr,
1125         and _IdDcmSWAP_LONG.
1126
1127 2002-09-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
1128       * This corresponds to all the changes decided at the meeting of
1129         May 23 2002. Needless to say we are running late...
1130