X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=ChangeLog;h=c5f8b091e753d0b79f74e9fb0d0d08cc19635b68;hb=987b9d86307ffd84dd676ccf5a504a3133308c44;hp=97a5c7fe1510a233f77825057a048ab7e9dee328;hpb=8c8dfaf3f3625d1ac9ca2f7f2af0753b80ed009a;p=gdcm.git diff --git a/ChangeLog b/ChangeLog index 97a5c7fe..c5f8b091 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,143 @@ +2004-09-21 Eric Boix + * Test/CMakeLists.txt: update to follow gdcmData renamings. + * src/gdcmCommon.h, gdcmDocument.cxx: doxygen typos + +2004-09-17 Eric Boix + * ENH: added some utility method that builds a flat dictionnary + holding all the Dicom entries contained in the recursive structure + of a gdcmElementSet. Refer to add FlatHashTablePrint.cxx for + an example of usage. + - src/gdcmDocument.[h|cxx] added BuildFlatHashTableRecurse() and + BuildFlatHashTable() that build a flat dictionary. + - src/gdcmElementSet.h: added a new private GetTag() accessor. + gdcmDocument is now a friend of gdcmElementSet. + - src/gdcmElementSet.cxx: clean up. + - Example/FlatHashTablePrint.cxx added. + - Example/CmakeLists.txt changed accordingly + +2004-09-16 Eric Boix + * gdcmDocEntrySet::SQDepthLevel and gdcmDocEntrySet::BaseTagKey attributes + moved away from gdcmDocEntrySet (since this class is an abstract class + acting like an interface). SQDepthLevel and BaseTagKey are now + in class + - src/gdcmDocEntrySet.[h|cxx] removal of SQDepthLevel and BaseTagKey + and associated accessors. Doxygenation of the class. + - src/gdcmSQItem.[h|cxx] SQDepthLevel and BaseTagKey and associated + accessors added. + - src/gdcmSeqEntry.[h|cxx]: constructor doesn't handle depth anymore. + Use SQDepthLevel accessor instead. ::Print() adapted. + - src/gdcmElementSet.cxx changed according to changes in gdcmSeqEntry. + - src/gdcmDocument.cxx changed accordingly. + +2004-09-13 Eric Boix + * Preparation of writing a gdcmHeader iterator: generalisation of gdcmTagKey + - The following is the doxygen comment of the typedef declaration + of gdcmagKey in src/gdcmCommon.h: + gdcmTagKey is made to old an "universal" (as in URL, Universal + Ressource Locator) key to a gdcmDocEntry i.e. a dicom tag. + A dicom tag allways has a group and an element, but a set of tags + embeded in various (optionally nested) sequences and sharing + the same group and element all share the same (group, element) + "identifier". Hence the (group, element) cannot be used as an + identifier (in gdcm we shall refer to a "TagKey") of a tag. + In order to construct a proper tag identifier (i.e. a key) we + consider the following definition of a TagKey: + - let Group, Element be the string representation of the + group and element dicom tag members, + - let ItemNumber be the string representation of the integer + index of the considered item number of a sequence, + Let the key of a tag embeded in a sequence, noted SeqTag, be + the form: + /ItemNumber#Group|Element + where "/", "#" and "|" are characters acting as separators. + Then the general form of a gdcmTagKey is given by: + Group|Element + where means NO or many instances of SeqTag. + Hence the gdcmTagKey of a tag not "leaving" in a sequence is the + string e.g. + 0028|1201 + but the gdcmTagKey of a tag "embeded" is the first item of + a sequence, itself nested in the third item of a sequence is the + string e.g. + 0004|1220/2#0008|0082/0#0008|0090 + - src/gdcmDocEntry.h: added a new Key (of type gdcmTagKey) member, in + order to hold the new sequence compatible key. Previously, the + GetKey() method would look in the underlying gdcmDictEntry. + - src/gdcmDocEntry.cxx: + -- constructor now copies the underlying DictEntry key, in the local + Key member. + -- ::Print: displays the member Key, instead of the (group, element). + - src/gdcmCommon.h: added some comments on typedef gdcmTagKey. + - src/gdcmDocEntrySet.h:xi + -- ::ParseDES() now setups the gdcmTagKey of the sequence it is parsing. + -- now has a new BaseTagKey member. + -- STYLE. + * src/gdcmValEntry.[h|cxx], src/gdcmBinEntry.[h|cxx]: the member VoidArea, + previously a member of gdcmValEntry, moved to gdcmBinEntry were is + truly belongs. + This poses the problem with the semantics of the following lines + LoadEntryVoidArea(0x0028,0x1201); // R LUT + LoadEntryVoidArea(0x0028,0x1202); // G LUT + LoadEntryVoidArea(0x0028,0x1203); // B LUT + in gdcmDocument::gdcmDocument(std::string const & ). Please refer + to the long FIXME note for what the problem is. Nevertheless in + order to get things working the dicom dictionary was altered ! + Please fix things urgently... + * Dicts/dicomV3.dic WRONGLY altered (this means we introduced a uncorrect + information), see above note on moving the member VoidArea. Nevertheless + the following entries previously correctly set as US are now inproperly + set to OW: + 0028 1201 OW IMG Red Palette Color Lookup Table Data + 0028 1202 OW IMG Green Palette Color Lookup Table Data + 0028 1203 OW IMG Blue Palette Color Lookup Table Data + * src/gdcmDocEntry.[h|cxx], src/gdcmSeqEntry.h: SQDepthLevel member + of gdcmDocEntry moved to gdcmSeqEntry. + * src/gdcmSeqEntry.cxx: STYLE. + +2004-08-04 Eric Boix + * Test/TestAllEntryVerify.cxx minor fix and added comments. + +2004-08-03 Eric Boix + * gdcmPython/testSuite.py: all the test suite in python is now moved + to it's C++ version (see gdcmData/TestAllEntryVerifyReference.txt) + * Test/CMakeLists.txt adapted to renaming of files in gdcmData + * gdcm/TODO and src/gdcmDictSet.h cleaned up frow the "TODO Swig" oldies + +2004-08-02 Eric Boix + * gdcmPython/CMakeLists.txt: SWIG_FLAGS doesn't declare includeall + to avoid inclusion recursion until STL is reached. + * src/gdcmDocument.[h|cxx]: exceptions substituted to errno C-style + mecanism. errno.h is not included in gdcm anymore. + * src/gdcmException.h: introduced new gdcmFormatUnexpected class + (gdcmFormatError now inherits from gdcmFormatUnexpected). + * TODO updated + * gdcmPython/testSuite.py checks on CR-MONO1-10-chest.dcm moved to + gdcmData/TestAllEntryVerifyReference.txt + * Test/TestAllEntryVerify.cxx is now effective (used allways return true) + * src/gdcmDocument.[cxx|h]: constructors no longer use the bool + exception_on_error parameter. + - src/gdcmFile.[cxx|h], src/gdcmHeader.[cxx|h] changed accordingly, + - vtk/vtkGdcmReader.cxx changed accordingly, + - Example/*.cxx and Test/*.cxx changed accordingly. + +2004-07-06 Eric Boix + * src/gdcmDicomDir.cxx, gdcmDocEntrySet.cxx: removed inclusion of errno.h + * src/gdcmDocument.[h|cxx], gdcmFile.[h|cxx], gdcmHeader.[h|cxx]: + enable_sequences removed from gdcmHeader constructor and dependencies. + * Example/PrintHeader.cxx: fixed accordingly (enable_sequences removal). + * gdcmPython/demo/PrintHeader.py: dummy fix. + * src/gdcmDocument.[h|cxx], gdcmFile.[h|cxx], gdcmHeader.[h|cxx]: + skip_shadow removed from gdcmHeader constructor and dependencies. + * Example/*.cxx and Test/*.cxx changed accordingly. + +2004-07-27 Eric Boix + * Test/CMakeLists.txt: newly re-introduced SIEMENS_Sonata-12-MONO2-SQ.dcm + in gdcmData (previously known as E00001S03I0015.dcm) is blacklisted. + +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'.