X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=ChangeLog;h=38d0686c37b49737001ea988becdadf8bdeb115c;hb=d4f7a5d74be3a4a332380d24631f3d0d96f98f5f;hp=4aea47dda993e9b0f2acbf855d4301ac4c4db77b;hpb=51b61705e90b352de08519835fa1c63b81bca616;p=gdcm.git diff --git a/ChangeLog b/ChangeLog index 4aea47dd..38d0686c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,289 @@ +2003-03-06 Eric Boix + * src/gdcmHeader.h and gdcmHeader.cxx Coding style + doxigenation. + * src/gdcm.h general comments moved to TODO, and README + * src/gdcm.h should now be seen as a user commodity (including it + should suffice to fully use gdcm). It is nowhere including within + any of the kernel files src/*.cxx and src/*.h. + +2003-03-05 Eric Boix + * src/gdcm.h splitted in gdcmCommon.h, gdcmDict.h, gdcmDictEntry.h, + gdcmDictSet.h, gdcmElValSet.h, gdcmElValue.h, gdcmFile.h, + gdcmHeader.h + * src/gdcm*.cxx only include their corresponding include file + (as opposed to gdcm.h) + * gdcmPython/gdcm.i changed accordingly + * Test/Makefile.am corrected and added NEWS, AUTHORS in order for + the autogen.sh generated "make snapshot" command to work. + * autogen.sh removed history related references to crea package. + +2003-03-04 Eric Boix + * distutilsSwigCPlusPlus.py work around some swig portability + bug. + +2003-03-03 Eric Boix + * Eventually, python/gdcmPython was renamed to gdcmPython. This + was done in a last ditch attempt to get setup.py _really_ + operationnal. The python/gdcmPython layaout add the advantage + of hidding away the python related distutils specific files + (MANIFEST.in, setup.py, distutils*.py...) from the main directory. + Alas, the src directory was out of scope (i.e. it's relative + position to setup.py was ../src) which made things impossible to + handle (see previous version of python/setup.py). Crossing fingers... + +2003-02-20 Eric Boix + * python/setup.py now works on Un*x. (harder than I thougth) + * python/distutilsSwigCPlusPlus.py can now have include files + among the list of sources. + +2003-02-20 Benoit Regrain + * src/gdcmHeader.cxx : bug fix - opening dicom file in binary !!! + * modifications in MSVC projects + +2003-02-19 Eric Boix + * As stated by the first lines of Test/ExceptionAndPython/README, it + looks like we can move back to original usage of exception within + src/gdcm* and hence remove the errno stuff that was introduced + as a quick and dirty fixture of this problem (added to the TODO). + * Doc/Doxyfile configuration file for Doxygen and corresponding + README file for usage added. + * Test/testWrite.cxx added. This new test comes from a split of + test.cxx that is now reverted to its original purpous i.e. + testing the proper parsing of a Dicom related file. + testWrite.cxx concentrates on testing the IO part of gdcm. + * Test/bug1.cxx (containing a bug on WIn32) added. + * src/gdcm.h, gdcmHeader.cxx, gdcmDictSet.cxx: + - gdcmHeader::GetPubTagNames and gdcmHeader::GetPubTagNamesByCategory + whose purpose is to publish the content of the TagNames of the + Dicom public dictionnary were not accessible without an + instance of class gdcmHeader. + - those methods are now static methods of gdcmDictSet and hence + require no instances at all to be invocated. + - within gdcmDictSet this change required to change some method + to class methods (i.e. are now static) among which SetDictPath + (renamed to BuildDictPath) and LoadDefaultPubDict. + * python/gdcmPython/demo/printGroupedPublicDict.py changed to illustrate + the above changes by calling the new method classes of gdcmDictSet. + * python/gdcmPython/__init__.py now exposes gdcm.gdcmDictSet for + the above to be effective. + * python/gdcmPython: in order to wrap properly the above changes + for Python, swig version now needs to be > 1.3.17. + * python/gdcmPython/Makefile fixed to adapt itself to new + configure/make shema introduced by Johan Montagnat (thanks for the + contribution). Alas this Makefile cannot be turned into a proper + Makefile.am without some heavy changes in the configure.in + (for python dectection). + * python/gdcmPython/gdcm.i: the out typemap map>* + now avoids publishing the empty entries. + +2003-02-13 Benoit Regrain + * python/setup.py : bug fix concerning install under windows + ExtraPath reused :-P + * gdcm.dsw : bug fix concerning path for libraries for python !!! + +2003-02-13 Benoit Regrain + * Dicts/dicomV3.dic : remove double spaces !!! + * src/gdcmElValSet.cxx : bug fix concerning windows compiler + * python/gdcmPython/win32/gdcmpycomplet.dsp : bug fix concerning paths + and links + +2003-01-28 Eric Boix + * src/gdcmHeader.cxx added a post header parsing AddAndDefaultElements + method. Doxygenation. + * src/gdcm.h clean up of JPR spurious comments. + +2003-01-17 Eric Boix + * python/distutilsSwigCPlusPlus.py now properly collects the + shadow classes generated by "swig -c++" (gdcm.py in our case) + when using "python setup.py install". + * python/gdcmPython/__init__.py imports gdcm.py and only manually + reexports the working classes. + * src/gdcmHeader.cxx all the try/catch/throw calls were replaced + by the classical C errno scheme. This is to prevent an obscure + behavior of the python wrappers when importing wxPython.wx prior + to gdcmPython (which ended up in an abort call). An illustration + of this oddity can be found in the Test/ExceptionAndPython + subdir (see the README file). This problem probably due to + an combination of g++ and dynamic loading. + * added Test/ExceptionAndPython (see above) + +2003-01-17 Eric Boix + * Changed the layout of the python part to avoid bloating main + directory with setup.py, distutilsSwigCPlusPlus.py, MANIFEST.in + i.e. the distutils arsenal. All the python related stuff is + again in a python subdir, but the package itself is now in + python/gdcmPython. + * setup.py was cleaned up: + - pythonIncludePath removed + - python setup.py bdist target is now functional. + * gdcmPython/__init__.py doesn't export FileName any more (to avoid + collision with other packages). gdcmPython/demo/*.py changed + accordingly. +2003-01-15 Eric Boix + * python subdir moved to gdcmPython (preparation of distutils packaging). + * gdcmPython/setup.py and distutilsSwigCPlusPlus.py added. The + distutils installer is operational. + * - gdcmPython/__init__.py now properly loads the swig generated + shadow classes (from gdcm.py). + - gdcmPython/demo/*.py changed to import the package gdcmPython + instead of gdcmPython/demo/load.py. + - gdcmPython/testSuite.py changed to import the package gdcmPython. + + +2002-12-16 Eric Boix + * src/gdcm.h, src/gdcmHeader.cxx: added GetPubTagNames() resp. + GetPubTagNamesByCategory() to gdcmHeader that return a list of the + entries within the associated public Dicom dictionary resp. the same + information but sorted by the fourth field (PAT, IMG, DIR) of the + dictionary. + - Dicts/dicomV3.dic Entries which had and unspecified fourth field + are now in the "???" group. + - python/gdcm.i changed accordingly, + - python/demo/printGroupedPublicDict.py added, that gives an example + of the above new functionalities in Python. + +2002-12-11 Eric Boix + * src/gdcm.h, gdcmHeader.cxx: + - historic references to glib's g_malloc and g_free (#defined) + were definitively removed. + - gdcm.h: cosmetic changes (part of comments moved to Doc/requirements) + * src/gdcmElValSet.cxx: + - GetElement(guint32, guint32) renamed to GetElementByNumber. + - GetElValue(guint32, guint32) renamed to GetElValueByNumber. + - GetElValue(string) renamed to GetElValueByName. + - Added GetElementByName(string). + * src/gdcmHeader.cxx: added + - GetPubElValRepByNumber(guint16, guint16) + - GetPubElValRepByName(string) + - GetShaElValRepByNumber(guint16, guint16) + - GetShaElValRepByName(string) + - GetShaElValByNumber(guint16, guint16) + - GetShaElValRepByName(string) + - GetElValRepByNumber(guint16, guint16) + - GetElValRepByName(string) + - GetElValByNumber(guint16, guint16) + - GetElValRepByName(string) + * Doc/requirements.txt added. + +2002-12-9 Eric Boix + * Test/Makefile building now depends on the one of libgdcm.so + * src/gdcmHeader.cxx and gdcm.h are now OB (undefined length encoded + pixel data) aware which enables finding the address (offset) of + the pixel data of JPEG encoded DICOM files. This leaves only a single + file in the testSuite whose pixel data address (offset) is unknown. + * python/testSuite.py changed accordingly. + +2002-12-6 Christophe Odet + Hugues Benoit-Cattin + Eric.Boix + * VC++ has some strong limitations when working with the STL, as stated + in http://support.microsoft.com/support/kb/articles/Q168/9/58.ASP : + "Also note that some STL containers (map, set, queue, list, deque) + cannot be exported. [...] + Some STL classes contain nested classes. These classes can not + be exported. [...] + This is caused by a designed limitation that once a template + class is instantiated, it can not be re-instantiated and + exported." + Since our usage of map<> is ubiquitous in gdcm, this "designed + limitation" of VC++ is a pitfall. + Hence the Python wrappers of gdcm cannot be incrementally linked + against the c++ dynamic library. The dirty but only workaround is + to forget about incremental link of dynamic libraries and to generate + the Python wrappers library with the inclusions of the underlying C++ + library. + The following modifications concern this matter on Win32/VC++: + - wrapping python correct with standalone wrapped dll (don't use separate + dll under windows !!!!) + - python21_d debug mode enabled (ask Frog how to use it :-) + - NO problem with having an STL member of class for example string in C++ + WITH THE RESTRICTION OF FORGETING ABOUT INCREMENTAL LINK. + - Python test of dcmlib in Python is ok under windows on a large set + (one) of image(s). + * removed glib references + * typedef's inserted in gdcm.i for correct swig type management + +2002-11-27 Eric Boix + * python/demo/*.py load.py extracted from test.py. Added explore.py + that only displays required tags and testAll.py that parses all + the files of the testsuite without using unittest. + * python/testSuite.py other additional test on new files added. + * Data/* new test files added accordingly to the testSuite. + * src/gdcmHeader.cxx avoid overwriting of the dictionary when + the vr in the file differs from the one of the dictionary. + +2002-11-20 Eric Boix + * src/gdcm.h and gdcmHeader.cxx gdcm no longer loads all the elements + values, but limits itself to values which are below a user specified + size (by default 1024 bytes). + * python/gdcm.i : elements not loaded (because their size is above the + user specified treshold) are exported with their TagKey as key of the + python dictionary. This enables the testsuite to make some checks + on the unloaded elements (since we have their offset and size). + * python/testSuite.py + - now tests for the existence and proper value of the pixel data + - two new examples added. + * Data/gdcm-MR-SIEMENS-16.acr[12] added. + +2002-11-18 Eric Boix + * src/gdcm.h and gdcmHeader.cxx are now "Big Endian transfer syntax" + aware. See the strategy comments in gdcmHeader::FindeLength(). + * Test/test.cxx now accepts a filename as first argument. + * Data/US-PAL-8-10x-echo.dcm and US-RGB-8-epicard.dcm added. + * python/testSuite.py changed to integrate test on above files. + +2002-11-15 Eric Boix + * Dicts/dicomV3.dic removed all the trailing (RET) when the + the vr was also RET. + * python/testSuite.py more tests added. + +2002-11-14 Eric Boix + * python/testSuite.py unittest test suite added (uses Data) + * Data/* dcm and acr files for the test suite. + * glib dependance removed from un*x version. We now use ISO C99 + 7.18 Integer types (see stdint.h) + - python/Makefile, src/Makefile src/gdcm.h + * src/ when an explicit vr (like dicom files) suddenly poped an + implicit element we use to mark the underlying DictEntry of the + concerned ElValue with "Implicit". This strategy was damageable + too the public or provite dictionaries, since some of their vr + would be changed. Since Header::FindLength heavily relies on the + detection by Header::FindVR of falsely explicit elements, I + added an extra ImplicitVr member to ElValue (boolean). + The rest of the changes we the necessary adaptations. + +2002-11-12 Eric Boix + * src/gdcmHeader::FindLength bug fix when trapping falsely explicit + VR files. + * src/gdcmHeader::FindVR: hard way fix of falsely explicit vr files. + +2002-11-8 Eric Boix + * Adaptation for porting to VC++: + - src/gdcm.h + o forced to use std namespace (for string to be known) + o all class use __declspec export style on WIN32 + - src/gdcmUtil.cxx new Exit method that wraps the exit call + (in stdlib.h on Win32 but in std:: for gcc) + * src/gdcmDictSet::SetDictPath adds a trailing / to environement + variable GDCM_DICT_PATH. + * src/gdcmHeader.cxx verbose comments made discrete. + +2002-11-7 Eric Boix + * python/gdcm.i: added a typemap that converts a C++ hashing table + to native Python dictionary. + * python/demo/test.py: + - now uses the native dictionary for exploration of gdcmHeader. + - takes an optional filename argument (the file to parse). + * src/gdcm.h and gdcmHeader.cxx: gdcmHeader now has an accessor on + PubElVals hashing table. + * Dicts/dicomV3.dic removed error prone trailing spaces. + +2002-11-6 Eric Boix + * Python wrapping process moved away from src/Makefile to + newly created python/Makefile (as well as gdcm.i) + * python/demo/test.py (that mirrors Test/test.cxx) is effective. + * src/gdcmHeader::FindLength only looks for current vr when necessary. + * src/gdcmDictSet.cxx: the dictionnaries directory path is now imported + from the environement variable GDCM_DICT_PATH (when existing). + * src/gdcmDict::GetTag bug fix. + 2002-10-31 Eric Boix * Straightforward temporary fixes for swig to build the python wrappers. src/Makefile now has a python working entry [by working we mean