X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=ChangeLog;h=15d4ca7dec720833ed092082f20b2d9bcbdead0e;hb=ebfb308e35ee009ad92d999ec35099e77a115b1a;hp=4f09a7e6c55932a0fc62ab7f2ec12627bab42b78;hpb=5b46296c49c82f36acfffd6ebc5256ab96e759f5;p=gdcm.git diff --git a/ChangeLog b/ChangeLog index 4f09a7e6..15d4ca7d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,67 @@ +2004-11-22 Benoit Regrain + * src/gdcmFile.h : fix compilation errors on zorglub linuc computer + +2004-11-19 Benoit Regrain + * src/gdcmDocEntry.cxx : remove the copy of the DictEntry... there isn't + correct to copy it. The DictEntry is specified at the DocEntry creation, + then, it musn't change in the time. + * src/gdcmDocEntryArchive.[h|cxx] : new class. It's goal is to change the + header correctly. At this time, the change is only made for the first + level of the Document. In the future, it might consider sequences. + The change is made by replacing a DocEntry by an other that is created + outside the class. The old value is kept. When we restore the header + status, the added DocEntry is deleted and replaced by the old value. + * src/gdcmElementSet.h : Set the DocEntryArchive like friend. + * src/gdcmFile.[h|cxx] : Use the gdcmDocEntryArchive. Add methods to + set the write type to explicit VR, implicit VR or ACR. Add methods to set + the write mode to native, decompressed or RGB (but not used at this time) + +2004-11-15 Benoit Regrain + * src/gdcmSeqEntry.cxx : add initialisation of variable SeqTerm + * src/gdcmDocument.cxx : add delete of DocEntry's to remove some memory leaks + +2004-11-15 Benoit Regrain + * src/gdcmDocument.cxx : now, when using the ReplaceOrCreateByNumber to + set a BinEntry, the binArea is copied (like to set a ValEntry, the string + is copied). + * Test/TestCopyDicom.cxx, Example/TestCopyDicom.cxx : the image data isn't + set because already copied when copying the BinEntry's of the header + * Test/TestAllReadCompareDicom.cxx : remove warnings + +2004-11-15 Benoit Regrain + * FIX : now, the DocEntries are all deleted in the gdcmElementSet. + Two problems appear when doing it : + - with the gdcmFile : when the GetImageData method is called, the pixels + are stored in the gdcmPixelConvert, but a gdcmBinEntry link to these + datas (pixels). And each structure destruct the datas when it's + destructed. So we have two destructions for the same datas. To solve it, + a flag is added in the gdcmBinEntry to indicate if the BinEntry owns the + datas or not. If it doesn't own datas, then they will not destroyed by + the gdcmBinEntry. + - with the gdcmDicomDir : the sequences (gdcmSQItem) contain DocEntry + elements. The DicomDir* (DicomDirPatient, etc.) inherit from SQItem. + Thus destruct the DicomDir* elements and the TagHT of the ElementSet + create a double destruction of the same DocEntry's. So, to solve it, + the TagHT is simply cleared and the DicomDir* elements are destroyed. + * TODO : add an entry concerning memory leaks in the DicomDir + +2004-11-15 Benoit Regrain + * FIX : src/gdcmDocument.cxx Remove obvious code in the destructor + * FIX : src/gdcmPixelConvert : Set to NULL the deleted structures in the + squeeze method + +2004-11-15 Benoit Regrain + * FIX: src/gdcmUtil.cxx : to compile with MSVC6 + * src/gdcmDocument.cxx : fix memory leaks. Fix possible bugs : use an object + after it have been deleted + +2004-11-16 Eric Boix + * FIX: src/* fix the doxygen warnings. + * src/gdcmVR.cxx: removed some redundant tests (e.g. LO) + * src/gdcmDocument.cxx: FIX ::ComputeRLEInfo() rleSegmentOffsetTable[] + was erroneously defined with a size of 15 instead of 16. [many thanks + to Jean Michel Rouet for pointing out this bug]. + 2004-11-15 Mathieu Malaterre 1. Finish merging JMR patch for writting DICOM from scratch 2. Fix -hopefully- bug with MONOCHROME and space vs null character @@ -352,7 +416,7 @@ 2004-09-23 Jean-Pierre Roux * FIX In order not to be poluted any longer by casting problems, the member VoidArea of gdcmBinEntry is now uint8_t* (instead of void *) - we can now delete[] it safely + we can now delete[] it safely * VoidArea is now called BinArea (less confusing name), and all the methods called ...VoidArea... are now ... BinArea... * class gdcmObject is now called gdcmDicomDirObject (less confusing name) @@ -502,7 +566,7 @@ 2004-07-21 Jean-Pierre Roux * FIX Now, Parsing and Printing a DICOMDIR do work! ( troubles remain in makeDicomDir and BuildUpDicomDir :-( - + 2004-07-20 Jean-Pierre Roux * FIX Some brain damaged headers have Zero-Lenght fields for 'Transfert Syntax UID', or 'Media Stored SOP Class UID'. @@ -606,10 +670,10 @@ 2004-06-29 Jean-Pierre Roux FIX : - remove Frog's beautified, but never checked 'Parse7FE0' code, - replace by uggly but working old code :-( - 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 ...) + 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 ...) 2004-06-28 Eric Boix * Test/TestWriteRead.cxx and TestReadWrite.cxx merged (because of @@ -644,14 +708,14 @@ 2004-06-24 Jean-Pierre Roux FIX : - now Write drops LUT Descriptors and LUTs (if any) - when SamplesPerPixel =3 + when SamplesPerPixel =3 - now Write is no longer confused by - 'BitsAllocated = 12" and 'BitsStored=12" + 'BitsAllocated = 12" and 'BitsStored=12" - "UN" value representation Elements are now written correctly - (their legth is stored on 4 bytes -just like OB, OW, and SQ-) + (their legth is stored on 4 bytes -just like OB, OW, and SQ-) ENH : - now gdcmHeader has its own Write methods - (in order to split the job that has not to be done - for gdcmDicomDir) + (in order to split the job that has not to be done + for gdcmDicomDir) 2004-06-23 Eric Boix * Test/PrintAllDocument.cxx: looping on files is now effective. It used to @@ -663,13 +727,13 @@ 2004-06-24 Jean-Pierre Roux FIX : Write - All the Sequences and Sequence Item are now written as 'no length' stuff, and a Sequence Delimitor aor an Item Delimitor - is added a the end, when necessary. + is added a the end, when necessary. - A lot of brain-damaged images, that were read correctly are - now written correctly - - length compatible BinEntry are now loaded correctly - (even for odd groups) + now written correctly + - length compatible BinEntry are now loaded correctly + (even for odd groups) Note : only Explicit Value Representation was checked. - (question : is implicit VR really necessary for gdcm ?) + (question : is implicit VR really necessary for gdcm ?) 2004-06-23 Eric Boix * DEVELOPPER: added a proposition of coding style. @@ -689,40 +753,40 @@ 2004-06-22 Jean-Pierre Roux In order : to write Sequences, whatever their imbrication level, - : to allow user to create his own Sequences - a lot of modif where necessary (adding, moving, or virtualising methods) + : to allow user to create his own Sequences + a lot of modif where necessary (adding, moving, or virtualising methods) -WARNING : save your own sources *before* cvs up ! - - - gdcmBinEntry - ADD virtual void Write(FILE *fp, FileType filetype); - + WARNING : save your own sources *before* cvs up ! + + - gdcmBinEntry + ADD virtual void Write(FILE *fp, FileType filetype); + - gdcmDocEntry - ADD virtual void Write(FILE *fp, FileType filetype); - ADD void gdcmDocEntry::WriteCommonPart(FILE *fp, FileType filetype); - - - gdcmDocEntrySet - ADD virtual void Write (FILE *fp, FileType filetype)=0; - ADD virtual gdcmDocEntry *GetDocEntryByNumber(guint16 group,guint16 element) = 0; + ADD virtual void Write(FILE *fp, FileType filetype); + ADD void gdcmDocEntry::WriteCommonPart(FILE *fp, FileType filetype); + + - gdcmDocEntrySet + ADD virtual void Write (FILE *fp, FileType filetype)=0; + 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", std::string fourth = "unkn", std::string name = "unkn"); - ADD gdcmValEntry *NewValEntryByNumber(guint16 group, guint16 element); - ADD gdcmBinEntry *NewBinEntryByNumber(guint16 group, guint16 element); + ADD gdcmValEntry *NewValEntryByNumber(guint16 group, guint16 element); + ADD gdcmBinEntry *NewBinEntryByNumber(guint16 group, guint16 element); ADD gdcmDocEntry *NewDocEntryByNumber(guint16 group, guint16 element); ADD gdcmDocEntry *NewDocEntryByName (std::string Name); ADD gdcmDictEntry *GetDictEntryByName (std::string Name); ADD gdcmDictEntry *GetDictEntryByNumber(guint16, guint16); - REM virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group, guint16 element)=0; + REM virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group, guint16 element)=0; REM virtual gdcmDocEntry *NewDocEntryByName (std::string Name)=0; - - - gdcmDocument - ADD virtual bool WriteF(FileType type); // New stuff, with recursive exploration + + - gdcmDocument + ADD virtual bool WriteF(FileType type); // New stuff, with recursive exploration ADD virtual std::string GetEntryByName (TagName tagName); ADD virtual std::string GetEntryVRByName (TagName tagName); REM virtual bool Write(FILE *, FileType);