X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=ChangeLog;h=66c844365a174d3b4b3d0b85868901a75d27b27c;hb=4a0c2407ec81e041c2e43781acec4c78c83fc487;hp=56a80d35f27473fd3052060fe98bf57716f57d4d;hpb=baecaa4a3a8de7d236921b836a442ff7ac7e65ee;p=gdcm.git diff --git a/ChangeLog b/ChangeLog index 56a80d35..66c84436 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,435 @@ +2003-04-9 Eric Boix with JPR + * src/Makefile.am now exports all the necessary include files at + make install stage. + +2003-04-9 JPR + * UpdateGroupLength replaced by new one + +2003-04-7 JPR + * UpdateGroupLength re-written using H-Table + (named UpdateGroupLengthNew untill checks are over) + +2003-04-7 Eric Boix with JPR + * Data/im_00001 renamed to gdcm-MR-PHILIPS-16-Multi-Seq.dcm + * gdcmPython/testSuite.py now include a test of gdcmFile::Write. + * src: + - gdcmHeader::GetPubElValSet removed. + - gdcmElValSet::WriteDcm, WriteAcr, WriteExplVR, revamped to + UpdateGroupLength, WriteElements, Write. + - gdcmHeader::FileType moved to gdcmCommon.h. The enum FileType + doesn't contain TrueDicom anymore since ExplicitVR and ImplicitVR + carried the same semantics. + - src/gdcmHeaderIdo.cxx changed accordingly. + - gdcmFile::WriteBase now regroups all the codes from previous + versions of WriteDcm, WriteDcmImplVR, and WriteACR. + - enum FileType moved to gdcmCommon.h + * src/gdcmHeader.cxx AddDefault trashed + * gdcmGetXSize added + * getimageDataSize now calls gdcmGetXSize + * Test/*.cxx changed to agree with above changes + +2003-03-31 Eric Boix + * src/gdcmHeader.h: LoadElements() is not a public method anymore + (to avoid double call by end user). + * Test/*.cxx LoadElements() doesn't need to be called explicitely + by end user, since gdcmHeader::gdcmHeader now handles it. + +2003-03-29 Eric Boix + * gdcm/Doc many doxygen changes: + - Doxyfile now has two different versions, DoxyfileUsers that generates + the html.users end users oriented documentation and + DoxyfileDeveloppers that generates the html.developper developper + oriented documentation. + - README changed accordingly + - requirement.txt removed (old design info moved to TODO). + - Additional files DoxyInstallation.txt, DoxyIntroduction.txt, + DoxyMainPage.txt, DoxyPython.txt provide more information. + - Note: the website http://www.creatis.insa-lyon.fr/Public/Gdcm/ can now + be updated by simply regenerating the docs with doxygen and copying + html.developper and html.users to tux:/home/httpd/html/Public/Gdcm + * src/gdcmElValSet.cxx: stl .count() can only return 0 or 1. Hence + all the tests in the form "if (.count() >1)" were removed. + * src/gdcmFile.cxx: cosmetic changes to avoid messages of doxygen about + ill-formed documentation sections. + * src/gdcmHeader.cxx: ditto + +2003-03-27 Eric Boix + * setup.py fixed for un*x (needed macro for stdint.h) + * Test/test.cxx renamed to PrintHeader.cxx to avoid collision on + un*ces with sh-utils test utility. + * gdcmPython/demo/test.py renamed to PrintHeader.py + * gdcmPython/demo/ReorganiseFiles.py new demo script added. + * gdcmPython/win32/gdcmpycomplet.dsp renamed to gdcmpyembedded.dsp. + * gdcmPython/win32/gdcmpy.dsp trashed away (brain damaged). + * src/gdcm*.cxx JPR's bad inclusion fixed. + +2003-03-26 Eric Boix + * src/gdcmHeader[h, cxx] gdcmHeader now has an IsReadable predicate. + * gdcmPython/demo/test.py changed accordingly. + +2003-03-25 Eric Boix + * gdcmPython/Makefile.am fixed linking against libstdc++ + * gdcmPython/_gdcm.so symbolic link to gdcmPython/.libs/pygdcm.so added. + * Swig subdir (historical tests of swig version 1.3.17++) removed + * Test/testChangeEntete.cxx some lines commented out in order to make + compilation work. + * src/gdcmHeader.cxx cleaned up wild JPR's dirty kludge. + * src/gdcmElValSet.cxx cleaned up frog's forgotten debug message + +2003-03-24 Eric Boix + * src/gdcmHeader.cxx gdcmHeader::gdcmHeader now calls LoadElements(), + hence the user doesn't need this explicit call. + - gdcmPython/testSuite.py, gdcmPython/demo/*.py changed accordingly + i.e. LoadElements() call removed. + * src/gdcmCommon.h now defines UINT32_MAX (see stdint.h). + - src/Makefile.am declares the proper flag for g++. + * src/gdcmElValSet.h added gdcmElValSet::GenerateFreeTagKeyInGroup + for adding user defined new tags. + - src/gdcmHeader.cxx gdcmHeader::NewManualElValToPubDict added. + - src/gdcmHeader.cxx gdcmHeader::AddAndDefaultElements now + cleanly adds some gdcm added tags (like gdcmXSize, gdcmYSize...) + +2003-03-17 Fabrice Bellet + * Makefile.am, acinclude.m4, configure.in, python.m4, Dicts/Makefile.am, + Doc/Makefile.am, Test/Makefile.am, gdcmPython/Makefile.am, + src/Makefile.am : the project should properly compile and install + with the autotools, included the python wrappers part. + * gdcm.spec.in : added a spec file for RPM packaging. + +2003-03-14 Benoit Regrain + * src/gdcmUtils.cxx : redifinition of defaults parameters in code + +2003-03-12 Eric Boix + * gdcmPython/__init__.py fix of GDCM_DICT_PATH which was not + to exported to the environement (see gdcmPython/testSuite.py + for usage). + * src/gdcmElValSet.[cxx/h], gdcmElValue.[cxx/h], gdcmFile.[cxx/h], + gdcmHeader.[cxx/h]: ElValSet class renamed to gdcmElValSet, and + ElValue class renamed to gdcmElValue for obvious consistency reasons. + * src/gdcmElValSet.cxx, src/gdcmUtil.[cxx-h] Tokenize utility function + moved away from gdcmElValSet.cxx to gdcmUtil.cxx. + +2003-03-10 Eric Boix + * gdcmPython/__init__.py doesn't crash anymore when running in + in InstallMode or PreInstallMode but with an environement given + value of GDCM_DICT_PATH. + * src/gdcmDictSet.[cxx/h] coding style. + +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 + that we can import de shadow classes without errors]. + +2002-10-29 Eric Boix + * hashtest.cxx removed (since allready in Test) + * src/gdcmlib.h renamed to src/gdcm.h + * src/dcm.i renamed to src/gdcm.i + * src/Makefile prepared for python wrapping + +2002-10-29 Eric Boix + * src/gdcmHeader.cxx : + - Parsing of header is now separated from loading of element values + (see gdcmHeader::LoadElements). + - general clean up of hopefully all file access (creation of + ReadInt16 and ReadInt32) + +2002-10-22 Eric Boix + * src/gdcmHeader.cxx : + - RecupLgr renamed to FindLength and cut off with new IsAnInteger + method. + - SetLgrElem renamed to SetLength + - GetLgrElem renamed to GetLength + - ~gdcmHeader() made virtual to pesky warning messages at compile. + * src/gdcmElValSet.cxx fixed both GetElValue methods + * Dicts/dicomV3.dic falacious entry [7fe0 0010 OT PXL Pixel Data] + due to IdoDude was cleaned out. + 2002-10-21 Eric Boix * src/gdcmHeader.cxx RecupLgr split in FindVR and RecupLgr. FindVR concentrates on finding the value representation (when it exists). @@ -11,7 +443,7 @@ on the libido specificities which are handled through class inheritance. * Test/implicit_vr.dcm dicom v3 in implicit value representation - added. + added. 2002-10-17 Eric Boix * Truckload of changes. Parsing of header is barely functional