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