X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=ChangeLog;h=6a5c904d74cf4d25ec4f4e64822284693da8a5a0;hb=da0155a9bc9a9b6f7e9194ed5c7e7f4ff9799e7c;hp=3bf409f0f52a4aed3cecd75f0bf536b575e96c59;hpb=93748f382dadb5c9240c4156ce7bbe9dcc8da44f;p=gdcm.git diff --git a/ChangeLog b/ChangeLog index 3bf409f0..6a5c904d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,47 @@ +2005-01-25 Benoit Regrain + * Test/VTKTest*.cxx : bug fix under linux + +2005-01-25 Benoit Regrain + * src/ : rename some methods on Entry (SetXxx, InsertXxx) to have a better + use with python. Some methods ard moved from Document to ElementSet or + DocEntrySet. The equivalent methods to ElementSet have been added to + SQItem and are virtual in DocEntrySet. Methods that may have the same code + in SQItem and ElementSet is directly placed in DocEntrySet + +2005-01-25 Benoit Regrain + * Test/VTKTest*.cxx : remove the show variable in each test method because + it's useless (the viewer variable replace this variable) + +2005-01-25 Benoit Regrain + * src/gdcmDocument.cxx : bug fix on potential memory leak + * src/gdcmSQItem.cxx : initialize the SQItemNumber value in the constructor + * src/gdcmSQItem.[h|cxx], gdcmElementSet.[h|cxx], gdcmDicomDir*.[h|cxx] : + Add ClearXxx methods to remove all the content of the list or map + * gdcmDocEntrySet.h : add GetFirst/NextEntry in pure virtual + +2005-01-24 Mathieu Malaterre + * Grealty simplify the JPEg decompression, no need to differenciate based on + the JPEG possible type (with/without fragment, with/without multiple frame). + Everything is done throught the JPEG IO Suspension mechanism in IJG + +2005-01-22 Benoit Regrain + * src/gdcmDicomDirElement.h, gdcmDict.h : rename AddNewXxx methods to AddXxx. + * src/gdcmDict.h : rename GetDictEntry moethod to GetEntry, to be coherent + with other method names + * gdcmPython/gdcm.i : bug fix. Add the typemaps for the TagName type + * Test/TestDicomDirElement.cxx : add new test + +2005-01-22 Mathieu Malaterre + * Finish the CreateUniqueUID stuff. Seems to compiled/runs on every + plateforms ITK support. Had some troubles with uint64_t on Win32, go to + http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_langref_data_type_ranges.asp + for more info. Basically you can not used 'unsigned' __int8 in an ostream. + So can't you use __int64 in ostream at all. + +2005-01-22 Benoit Regrain + * bug fix for compilation on MSVC6 + * gdcmPython/gdcm.i : rename of classes missed + 2005-01-20 Benoit Regrain * gdcmDicomDirElement.[h|cxx] : change the AddEntry method. Now, it gets a type and not a string. So, there remove problems on the format of the @@ -45,14 +89,14 @@ 2005-01-18 Jean-Pierre Roux * ENH for DicomDir, DicomDirPatient, DicomDirStudy, - DicomDirSerie, DicomDirImage - Dict, DictSet classes : + DicomDirSerie, DicomDirImage + Dict, DictSet classes : -add method GetFirstEntry to replace call to InitTraversal+GetNextEntry -remove InitTraversal method. - * UPD Test programs + Example programs + * UPD Test programs + Example programs 2005-01-18 Jean-Pierre Roux - remove useless and never updated keyword \ingroup + remove useless and never updated keyword \ingroup 2005-01-17 Benoit Regrain * src/gdcmUtil.cxx : bug fix to find the Windows MAC address. Now, there @@ -60,42 +104,42 @@ * gdcmPython/demo : add python demos using VTK 2005-01-16 Jean-Pierre Roux - * FIX 'Dictionnary' is now spelt 'Dictionary' - 'wether' is now spelt 'whether' - 'archieve' is now spelt 'archive' ;-) + * FIX 'Dictionnary' is now spelt 'Dictionary' + 'wether' is now spelt 'whether' + 'archieve' is now spelt 'archive' ;-) 2005-01-15 Jean-Pierre Roux * ADD DicomDir, DicomDirPatient, DicomDirStudy, DicomDirSerie, DicomDirImage - related methods, in order not to expose internal mechanisms + related methods, in order not to expose internal mechanisms InitTraversal(); GetNextEntry(); - * REM methods that exposed internal mechanisms : + * REM methods that exposed internal mechanisms : DicomDir::GetDicomDirPatients() DicomDirPatient::GetDicomDirStudies() DicomDirStudy::GetDicomDirSeries() DicomDirSerie::GetDicomDirImages() - * UPD Test programs : - makeDicomDir.cxx - BuildUpDicomDir.cxx - TestDicomDir.cxx - * UPD Example program - PrintDicomDir.cxx + * UPD Test programs : + makeDicomDir.cxx + BuildUpDicomDir.cxx + TestDicomDir.cxx + * UPD Example program + PrintDicomDir.cxx * ADD DictSet methods InitTraversal() GetNextEntry() 2005-01-15 Mathieu Malaterre * Removed the Print/indent/default parameter mess. There is absolutely no - reason to have to methods, moreover with the second taking the ostream as - *SECOND* parameter. This was clearly a bad hack to get things compile. + reason to have to methods, moreover with the second taking the ostream as + *SECOND* parameter. This was clearly a bad hack to get things compile. 2005-01-15 Mathieu Malaterre * Complete rewrite of the GetMacAddress code. Now the code is *much* - smaller (no more MacOSX specific crap). A lot more POSIX oriented. - Unfortunately the main code does not work on SunOS, thus provide a specific - code for this platform only (and Win32 of course). Since this seems to be - working, change CreateUniqueUID to use GetMACAddress instead of the - problematic GctestetIPAddress + smaller (no more MacOSX specific crap). A lot more POSIX oriented. + Unfortunately the main code does not work on SunOS, thus provide a specific + code for this platform only (and Win32 of course). Since this seems to be + working, change CreateUniqueUID to use GetMACAddress instead of the + problematic GctestetIPAddress 2005-01-14 Mathieu Malaterre * Unfortunately to be able to test gdcmDirList I had to break the API @@ -109,16 +153,16 @@ 2005-01-13 Jean-Pierre Roux * ENH - Comment out Mathieu's (dangerous) Super Hack - for dealing with BIGENDIAN processors - - Move equivalent stuff to BinEntry::WriteContent - When necessary, 16 Bits Pixels are swapped in a small buffer - and then written. This avoid allocating a huge buffer, in - PixelWriteConvertor, and avoid modifying the Pixel Area. - Note : - Probabely, the same operation will have to be done when we want - to write image with Big Endian Transfert Syntax, - and we are working on Little Endian Processor - + for dealing with BIGENDIAN processors + - Move equivalent stuff to BinEntry::WriteContent + When necessary, 16 Bits Pixels are swapped in a small buffer + and then written. This avoid allocating a huge buffer, in + PixelWriteConvertor, and avoid modifying the Pixel Area. + Note : + Probabely, the same operation will have to be done when we want + to write image with Big Endian Transfert Syntax, + and we are working on Little Endian Processor + 2005-01-14 Benoit Regrain * src/gdcmDocument.[h|cxx] : comment all methods concerning a flat hash table. @@ -140,8 +184,8 @@ 2005-01-13 Jean-Pierre Roux * merging of Test/PrintDicomDir and Test/TestDicomDir - * removal of now redundant Test/PrintDicomDir - * enhancement of Example/PrintDicomDir + * removal of now redundant Test/PrintDicomDir + * enhancement of Example/PrintDicomDir 2005-01-13 Benoit Regrain * Now, python test might work on systems @@ -149,16 +193,16 @@ 2005-01-13 Jean-Pierre Roux * FIX : First entry following group 0002 was lost for - Explicit Big Endian Transfer Syntax files + Explicit Big Endian Transfer Syntax files (group and elem not swaped) - + 2005-01-12 Jean-Pierre Roux * FIX : Old quick and dirty 'optimistic' heuristic to deal with - Big Endian Transfer Syntax supposed the group following 0002 - begins always by element 0000 (element 0000 is *optional*) - To avoid further troubles, let's be pessimistic, and use - Document::HandleOutOfGroup0002() method - * FIX : comparison between GDCM_NOTLOADED and Transfer Syntax + Big Endian Transfer Syntax supposed the group following 0002 + begins always by element 0000 (element 0000 is *optional*) + To avoid further troubles, let's be pessimistic, and use + Document::HandleOutOfGroup0002() method + * FIX : comparison between GDCM_NOTLOADED and Transfer Syntax (related pb not yet solved) 2005-01-12 Benoit Regrain @@ -176,11 +220,11 @@ 2005-01-11 Jean-Pierre Roux * Replace confusing name SwitchSwapToBigEndian name by SwitchByteSwapCode * Add the Document::HandleOutOfGroup0002(uint16_t group) method - to swap the Swap Code, at parsing time, when we come out of group 0002 - and Transfer Syntax is Big Endian - We should be able to read now 'true DICOM" Big Endian coded images - * Add optional run time SetDebugOn (last param) for PrintHeader, PrintFile - * Replace the french 'Transfert Syntax' by the english 'Transfer Syntax' + to swap the Swap Code, at parsing time, when we come out of group 0002 + and Transfer Syntax is Big Endian + We should be able to read now 'true DICOM" Big Endian coded images + * Add optional run time SetDebugOn (last param) for PrintHeader, PrintFile + * Replace the french 'Transfert Syntax' by the english 'Transfer Syntax' 2005-01-10 Mathieu Malaterre * Hopefully fix the bug on MacOSX and static global initialization. @@ -192,9 +236,9 @@ 2005-01-08 Mathieu Malaterre * Fix bug on MacOSX with static initialization in a multy threaded - environment. static const string in a header file used to be ill - initialized provoquing the freeze of any tests. patch should solve this - issue. + environment. static const string in a header file used to be ill + initialized provoquing the freeze of any tests. patch should solve this + issue. 2005-01-08 Jean-Pierre Roux * According to Benoit's suggestion, and without any objection from anybody @@ -215,22 +259,22 @@ * Removal of useless and dangerous methods : GetEntryByName, GetEntryVRByName, GetDocEntryByName, SetEntryByName GetDocEntryByName, GetEntryByName, GetDictEntryByName - * Removal of usless methods : + * Removal of usless methods : Dict::PrintByName, Dict::GetDictEntryByName * Commenting out of probabely useless methods : Dict::GetDictEntryNames() Dict::GetDictEntryNamesByCategory() DictSet::GetPubDictEntryNames() - DictSet::GetPubDictEntryNamesByCategory() - * ENH : New Dicom Dictionary (with Value Multiplicity) is now used - * ENH : Use dicomTS.dic as described in 2004 version - * ENH : Removal out of the Dicom Dictionary of non dicom 'fourth' field + DictSet::GetPubDictEntryNamesByCategory() + * ENH : New Dicom Dictionary (with Value Multiplicity) is now used + * ENH : Use dicomTS.dic as described in 2004 version + * ENH : Removal out of the Dicom Dictionary of non dicom 'fourth' field Add to the Dicom Dictionary of Dicom 'Value Multiplicity' field - Add Accessors on VM (Value Multiplicity), and VM related methods + Add Accessors on VM (Value Multiplicity), and VM related methods * ADD : Add a list of 'Dicom Attribute types', as found in http://medical.nema.org/dicom/2004/04_15PU.PDF - Unused till now... - * ADD : Add dicomGroupNameAbbreviations.dic + Unused till now... + * ADD : Add dicomGroupNameAbbreviations.dic should be used to write a method to replace the former Dict::GetDictEntryNamesByCategory() @@ -267,11 +311,11 @@ 2005-01-05 Jean-Pierre Roux * ADD : Add the method Util::IsCurrentProcessorBigEndian (we'll need it for 'Explicit VR Big Endian' Transfert Syntax) - * ADD Method Document::ComputeGroupLength - * ENH : now parsing creates a Vitual DictEntry for Pixels Element, + * ADD Method Document::ComputeGroupLength + * ENH : now parsing creates a Vitual DictEntry for Pixels Element, in order to allow further VR modification by user - * REM : removal of once-called method File::WriteBase - integration of its code in formerly one-line method File::Write + * REM : removal of once-called method File::WriteBase + integration of its code in formerly one-line method File::Write 2005-01-05 Benoit Regrain * src/gdcmCommon.h : add the GDCM_UNKNOWN constant. This constant is to @@ -1223,7 +1267,7 @@ A lot of things should be OK again. It's really urgent to have a test suite that *tests*, to prevent Frog's beautifying sessions to break all the stuff - (twice, withing a fortnigh ...) + (twice, withing a fortnigh ...) 2004-06-28 Eric Boix * Test/TestWriteRead.cxx and TestReadWrite.cxx merged (because of @@ -1320,7 +1364,7 @@ ADD virtual gdcmDocEntry *GetDocEntryByNumber(guint16 group,guint16 element) = 0; ADD gdcmDocEntry *GetDocEntryByName(std::string name); ADD virtual std::string GetEntryByNumber(guint16 group,guint16 element) = 0; - ADD std::string GetEntryByName(TagName name); + ADD std::string GetEntryByName(TagName name); ADD gdcmDictEntry *NewVirtualDictEntry(guint16 group, guint16 element, std::string vr = "unkn", @@ -1358,22 +1402,22 @@ REM gdcmDocEntry *NewDocEntryByName (std::string Name); REM gdcmValEntry *NewValEntryByNumber(guint16 group, guint16 element); REM gdcmBinEntry *NewBinEntryByNumber(guint16 group, guint16 element); - - - gdcmElementSet - ADD virtual void Write(FILE *fp, FileType filetype); - + + - gdcmElementSet + ADD virtual void Write(FILE *fp, FileType filetype); + - gdcmSeqEntry - ADD virtual void Write(FILE *fp,FileType filetype); + ADD virtual void Write(FILE *fp,FileType filetype); - gdcmSQItem ADD virtual void Write(FILE *fp, FileType filetype); - ADD virtual std::string GetEntryByNumber(guint16 group, guint16 element); + ADD virtual std::string GetEntryByNumber(guint16 group, guint16 element); REM std::string GetEntryByNumber(guint16 group, guint16 element); REM std::string GetEntryByName(TagName name); - gdcmValEntry - ADD virtual void gdcmValEntry::Write(FILE *fp, FileType filetype); - + ADD virtual void gdcmValEntry::Write(FILE *fp, FileType filetype); + 2004-06-21 Eric Boix * Test/TestWriteSimple.cxx: fix to gdcmHeader-gdcmHeaderHelper revamping. The default constructor invoked by the line @@ -1483,23 +1527,23 @@ - Specific clean up of Parse7FE0() (umproperly named actually). * gdcmPython/testSuite.py: an odd temporary kludge introduced. -2004-06-14 Jean-Pierre Roux +2004-06-14 Jean-Pierre Roux * gdcmSeqEntry.cxx - - fix the display of Sequence Delimitor (SQDepthLevel pb) - - fix the display of SQItem ordinal number + - fix the display of Sequence Delimitor (SQDepthLevel pb) + - fix the display of SQItem ordinal number - add the GetSQItemByOrdinalNumber method - - remove some useless never written private methods - + - remove some useless never written private methods + 2004-06-14 Jean-Pierre Roux * gdcmBinEntry.cxx - adding a constructor taking a gdcmDocEntry as an input param - - ReplaceOrCreateByNumber now returns : - a gdcmBinEntry * if a Binary (void *) value is passed as a param - a gdcmValEntry * if a string value is passed as a param + - ReplaceOrCreateByNumber now returns : + a gdcmBinEntry * if a Binary (void *) value is passed as a param + a gdcmValEntry * if a string value is passed as a param * dcmDocument.cxx - SetEntryByNumber now allows setting gdcmValEntry or gdcmBinEntry, - according to the param type (no longer sets a gdcmDocEntry) - - GetValEntryByNumber, GetBinEntryByNumber added + according to the param type (no longer sets a gdcmDocEntry) + - GetValEntryByNumber, GetBinEntryByNumber added - NewValEntryByNumber and NewBinEntryByNumber added * gdcmFile.cxx - Pixel Data are now linked to the (7fe0,0010) elements, after reading @@ -1507,10 +1551,10 @@ - GetSQItemNumber and SetSQItemNumber added, to provide a (relative) Item identier inside a given Sequence \warning : some pb remaining around this number - will be solved asap - - AddEntry now takes the Item Number as a param + will be solved asap + - AddEntry now takes the Item Number as a param * gdcmValEntry.cxx - - adding a constructor taking a gdcmDocEntry as an input param + - adding a constructor taking a gdcmDocEntry as an input param 2004-06-14 Eric Boix * Memory leak hunt with the following command: @@ -1687,7 +1731,7 @@ SeQuence indented printing of Dicom Header. * ENH merge methods gdcmParser::Parse and gdcmParser::LoadHeaderEntries into the single gdcmParser::LoadHeaderEntries for efficiency purpose. - Computation of SQDepthLevel is now part of gdcmHeader constructor + Computation of SQDepthLevel is now part of gdcmHeader constructor * ENH add self defined param 'new' to PrintHeader to 'show' the SeQuence tree-like structure of a Dicom Header. * FIX Test code cleaning @@ -1708,9 +1752,9 @@ * ENH Minor changes to the Print() methods. * ADD gdcmParser::PrintEntryNiceSQ() to allow SQ-indented Header printing. Example given with : - > PrintHeader fileName 2 new + > PrintHeader fileName 2 new (SQ based tree-like structure still to be done for the Header ...) - + 2004-04-22 Mathieu Malaterre * ENH: Some cosmetic clean up for compilation with -W -Wall -Werror 1. I have added some unsigned where needed @@ -1731,17 +1775,17 @@ * FIX gdcmHeaderHelper::GetXSpacing when a single value is found (bug ?), xpacing is now defaulted to yspacing - + 2004-04-19 Jean-Pierre Roux * ADD gdcmData/Wrist.pap (PAPYRUS 3.0 -single frame-) for checking purpose * ENH add parameters : bool exception_on_error = false, bool enable_sequences = false, - bool ignore_shadow = false + bool ignore_shadow = false to the gdcmFile constructors to be full gdcmParser compliant * FIX vtk/vtkGdcmReader.cxx now uses enable_sequences = true in gdcmFile to allow reading of PAPYRUS 3.0 files - + 2004-04-06 Jean-Pierre Roux * ADD gdcmData/E00001S03I0015.dcm for SQ checking purpose @@ -1749,7 +1793,7 @@ * ADD : Test/checksequence.sh, for a general recap on SQ pb * FIX : gdcmParser::WriteEntryTagVRLength emprovement of special treatement for Philips spurious Tag fffe|0000 while rewritting Dicom files - + 2004-03-30 Jean-Pierre Roux * FIX gdcmParser::ReplaceOrCreateByNumber shouldn't seg fault any more for ACR file, written out as DICOM files (hope so...) @@ -1775,7 +1819,7 @@ from gdcmParser::WriteEntry to gdcmParser::WriteEntries * FIX : gdcmObject::ResetBoundaries now stops properly when end-of-list is reached - : gdcmVersion modified (as Benoit Regrain asked) + : gdcmVersion modified (as Benoit Regrain asked) 2004-03-29 Eric Boix * src/gdcmParser.cxx: removal of all TAB character. Indentation fixed. @@ -1840,14 +1884,14 @@ add gdcmDicomDirPatient:NewStudy add gdcmDicomDirStudy:NewSerie add gdcmDicomDirSerie:NewImage - to allow making gdcDicomDir object. + to allow making gdcDicomDir object. * ADD PrintDicomDir executable that uses gdcmDicomDir tree-like structure (as opposite to the gdcmHeader chained list) 2004-02-11 Benoit Regrain * FIX : memory leaks and the set of ArgDelete methods in gdcmDicomDir when using from python - + 2004-02-10 Benoit Regrain * FIX : bug fix in the gdcmDirList for the recursivity in directories * FIX : in gdcmDicomDir when the directory is empty @@ -2066,19 +2110,19 @@ not longer on the TagElValueHT tagHt member * ENH : PrintPubElVal shows (temporarily) both results, with the tagHt member and the listElem member. - (it's easier to 'see' the problems when using Printheader) + (it's easier to 'see' the problems when using Printheader) * FIX : old private member LgrElem is now splitted into ReadLength : Length actually found on disk (updated only - if bug fixing is necessary), for internal - use only - UsableLength : Updated by FixFoundLength, to fix a bug - or to allow Parser going on. - Will allow to re-write a kosher header when a SeQuence - with a length (not 0000) is found + if bug fixing is necessary), for internal + use only + UsableLength : Updated by FixFoundLength, to fix a bug + or to allow Parser going on. + Will allow to re-write a kosher header when a SeQuence + with a length (not 0000) is found Warning : gdcmFile::Write still uses the TagHt (not ListElem) - because gdcmElValSet::Add does not update ListElem - (to be written) + because gdcmElValSet::Add does not update ListElem + (to be written) 2003-11-07 Jean-Pierre Roux * FIX misstyping in Transfert Syntax name table @@ -2138,7 +2182,7 @@ 2003-10-29 Mathieu Malaterre * ENH: Can be used like this '$vtkgdcmViewer *.dcm' with *.dcm - being coherents dicom files. + being coherents dicom files. 2003-10-29 Mathieu Malaterre * FIX: DOH ! Forgot about windo$e users, they couldn't read lossless jpeg, @@ -2343,7 +2387,7 @@ - deals with YcBcR (YBR_FULL) files - deals with YBR_YBR_FULL_422 files (they work as RBG files ?!?) WARNING : nothing was checked for YBR_PARTIAL_422, YBR_ICT, - YBR_RCT files. + YBR_RCT files. (no sample found :-( 2003-10-02 Mathieu Malaterre