* src/win32/libgdcmjpeg12.dsp was not dos format
* src/win32/libgdcmjpeg12.dsp : libgdcmijpeg12_EXPORTS -> LIBGDCMIJPEG12_EXPORTS
* src/win32/gdcmdll.dsp: + /I "..\jpeg\libijg12"
* src/gdcmHeader.h : add std:: prefix for stl elements... like others in
the file
* src/gdcmFile.cxx : bug fix in affectation type
* src/jpeg/libijpeg12/jmorecfg12.h : export for windows modified... like
in src/jpeg/libijpeg8/jmorecfg8.h (JPR : copy/paste exists !!!)
* Modifs of MVSC projects to compile them. Not concerning 2 identic
symbols... futur problem ?
-- BeNours
* src/jpeg/libijg12/.cvsignore, jconfig.* : ommited files while last
commit of JPR (before his hollidays to facilitate our work).
* setup.py : bug fix in code. Modifications made while the last commit
of JPR. The code hasn't been tested before the commit... it's so
useless to make that (for best programmer that is JPR) !!!
-- BeNours
Upgrade of Dicom Dictionary to be 2003 compliant (400 entries added)
Next step will be the removal of NIH defined 3-rd field,
whixh is not part of the dictionary
* vtk/testvtkGdcmReader.cxx : remove a symbol that is unused
* src/jpeg/libijg8/jmorecfg.h : adding export symbol for windows
* *.dsp : modifications to use new libgdcmijpeg8 library
* setup.py : bug fix on VTKPATH variable
* PACKAGER : adding all concerning windows
-- BeNours
* src/gdcmElValSet.cxx, gdcmFile.cxx: JPR bug fix, removal of
garbage debug code.
* TODO, vtk/vtkGdcmReader.cxx: upcoming fixes comments.
* gdcmPython/testSuite.py: JPR bug fix, brutal erasement of
test suite reported error.
* PACKAGER file added (describes what a packager must do when
packaging a new release).
* MANIFEST.in, now declares jconfig.linux and jconfig.vc
* configure.in: upgraded version number to 0.3.0
* fixing build of rpm (through rpm -ta):
- Doc/Makefile.am exports proper doxygen files
- src/jpeg/libijg8/Makefile.am exports the include files. --- Frog
* vtk/vtkGdcmReader.[cxx|h] : bug fix when loading only one file.
We were obtaining error message from vtk. Now, creation of file list
is made in an internal list to prevent this problem.
Bug fix when output is empty.
Bug fix in update of progress value. Previous commit for this was a bad
correction.
-- BeNours
* src/gdcmHeader.h : added method to get the file name
* vtk/vtkGdcmReader.[cxx|h] : bug fix concerning loading of bad dicom
files. Added method to remove all files on the input
Added FIXME comment concerning the bad parsing of header made by
ExecuteInformation method (in ExecuteData method)
-- BeNours
2003-07-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
* setup.py : adding include dir of jpeg lib to compile all sources
* */Win32/*.dsp : JPR fix for windows compilation
-- BeNours
now gdcmFile::GetImageDataIntoVector, gdcmFile::GetImageData, and so on
return an RGB pixel map
(they return no longer an R Plane + a G Plane + a B Plane)
see gdcmData/US-RGB-8-epicard.dcm
* src/jpeg/libijg8/jconfig.* : JPR bug fix : now compile on both
linux and WINDOWS !
* src/gdcmJpeg.cxx : JPR bug fix : erroneous include
* src/win32/gdcmdll.dsp : JPR fix for windows compilation
-- BeNours
* setup.py is again effective on un*x (takes into account the
addon of the jpeg library)
* Doc/DoxyDevelInstal.txt added (developper's raw documentation)
* Doc/Doxy* updated (includes above enhancements)
* INSTALL now points to web documentation --- Frog
* gdcmPython/Makefile.am now avoids calling the wrappers for the
clean target.
* src/gdcm*.[cxx|h] :
- to allow compilation with gcc 3.x
-- clean up of STL usage (added explicit usage of std::)
-- small fixes on exceptions.
Note: linking not tested !
- clean of doxygen comments to avoid warnings at documentation
building stage.
* vtk/vtkGdcmReader.cxx: g++ warning message clean up (platform
dependent convertion).
frog [Tue, 24 Jun 2003 10:09:45 +0000 (10:09 +0000)]
* Clean up of previous JPR garbage commit (not even commented in the
Changelog):
- Test/Makefile.am removed the reference to unexisting testTS.cxx
- moved all jpeg related files from src to src/jpeg/libijg8, with
addition/modification of Makefile.am and configure.in.
- the testSuite is still brain damage (not guilty).
frog [Wed, 11 Jun 2003 13:36:53 +0000 (13:36 +0000)]
* vtk/vtkGdcmReader.[cxx/h]:
- UpdateProgress method should now be effective
- removed the limitation on having only images loaded (as opposed
to volumes),
- when building a stack of images/volume, a lesser number of
gdcmHeader and gdcmFile instances should be used (hopefully
accelerating things).
- when building a stack of images/volumes, files which are not
loadable (wrong path-filename, wrong permissions on existing file,
or file not parsable by gdcm) are replaced with a black image
in the stack (for the caller to notice the problem).
regrain [Mon, 2 Jun 2003 07:42:17 +0000 (07:42 +0000)]
* vtk/vtkGdcmReader[cxx|h] : makes correct code to remove conflicts
between standard library (std) and vtk library (problems are found
under Windows... thanks Windows !)
-- BeNours
frog [Fri, 30 May 2003 18:48:35 +0000 (18:48 +0000)]
* vtk/vtkGdcmReader[cxx|h] should now be volume aware (read ready for
debug stage).
* gdcmPython/demo/vtkGdcmReader.py: commented lines for volume test
frog [Wed, 28 May 2003 19:36:20 +0000 (19:36 +0000)]
* When compiling with distutils (see setup.py) the C++ compiler is
called with different flags than the default ones (with automake).
In order to fix all those warning, I compiled gdcm with the command
make 'CXXFLAGS=-Wall -Wstrict-prototypes -D__STDC_LIMIT_MACROS'
and went for warning fixes:
- src/gdcmHeader.cxx, Test/dcm2acr.cxx, pourFindTaggs.cxx cleaned
up from unused variables.
- vtk/vtkGdcmReader.cxx: potential bug fix.
* src/gdcmHeader.h: Doxygen warning cleanup
frog [Tue, 27 May 2003 15:16:13 +0000 (15:16 +0000)]
* gdcmPython/gdcm.i:
- typemaps correction to take into account the systematic replacement
of "using namespace std" with std:: prefix e.g. std::list,
std::string... (cf changes of 2003-05-21).
- gdcmGlob global variable of type gdcmGlobal (defined in
src/gdcmUtil.cxx and declared in gdcmPython/gdcm.i) is now
exported to Python a as cvar.
* gdcmPython/__init__.py now defines two functions GetPubDictTagNames()
and GetPubDictTagNamesByCategory() as a replacement for deprecated
gdcmDictSet.GetPubDictTagNames() and
gdcmDictSet.GetPubDictTagNamesByCategory() class functions (i.e.
C++ static methods).
* gdcmPython/demo/printGroupedPublicDict.py is operational again,
with the above changes. ---- Frog
regrain [Thu, 22 May 2003 10:44:30 +0000 (10:44 +0000)]
* Modification of setup.py to compile vtk part too. Then, we have 2
wrappers which must work with same distutils. For that, we have a
generic distutils in distusiltsWrapping.py ; with :
- build_extWrap class to wrap generically all extensions,
- ExtensionWrap base class for all wrapping extension that contains
a wrapper
- Wrapper interface which wrap sources
+ In WrapSwig.py we have extension and wrapper for Swig
+ In WrapVTK.py we have extension and wrapper for VTK
* MANIFEST.in : modifications to consider vtk directory and new python
files for compilation
-- BeNours
regrain [Wed, 21 May 2003 16:26:26 +0000 (16:26 +0000)]
* src/*.[h] all occurences of stl classes are now prefixed with
std::, and all occurences of "using namespace std;" where removed.
This is to avoid pollution of global namespace in included files.
Apparently vtk does not avoid this pitfall: when using both
gdcm and vtk (as in vtk/vtkGdcmReader.cxx) this ended up in a
collision of various stl members (principally cout...).
* gdcmPython/gdcm.i now declares a typemap for std::string (to
comply with above changes)
-- Frog & BeNours
frog [Wed, 21 May 2003 14:42:45 +0000 (14:42 +0000)]
* src/*.[h] all occurences of stl classes are now prefixed with
std::, and all occurences of "using namespace std;" where removed.
This is to avoid pollution of global namespace in included files.
Apparently vtk does not avoid this pitfall: when using both
gdcm and vtk (as in vtk/vtkGdcmReader.cxx) this ended up in a
collision of various stl members (principally cout...).
frog [Wed, 21 May 2003 08:21:16 +0000 (08:21 +0000)]
* Added python wrappers of vtkGdcmReader vtk class (see the
source in vtk/vtkGdcmReader.cxx) :
- vtk/Makefile.am now builds a library
- gdcmPython/Makefile.am now builds vtkgdcmPython a second import
python library (as opposed to _gdcm.so wich are the python
wrappers of gdcm). vtkgdcmPython.so uses the vtk python wrappers
(vtkWrapPython and vtkWrapPythonInit utility) to build vtkgdcmPython
import library.
- configure.in has an additional flag --enable-vtk that needs
to be set to enable compilation of vtk related code, that is:
+ vtk/vtkGdcmReader.so and
+ vtk/testvtkGdcmReader C++ demo of vtk wrappers of gdcm)
+ gdcmPython/vtkgdcmPython.so (see above)
- gdcmPython/demo/vtkGdcmDemo.py corrected (some images cannot
be read when compressed or when HighBit + 1 != BitsStored),
- gdcmPython/demo/vtkGdcmReader.py added. This demo illustrates
the usage of the python wrapper of vtkGdcmReader vtk class.
* vtk/vtkGdcmReader.cxx: bug fixed (thanks to Benoit Regrain).
frog [Mon, 12 May 2003 14:32:42 +0000 (14:32 +0000)]
* src/gdcmHeader>[h/cxx] added gdcmHeader::GetPixelSize()
* vtk/vtkGdcmReader.cxx now properly inports the image in the
vtk data structure (an image Flip was required).
* vtk/testvtkGdcmReader.cxx refers to gdcmData subdir instead of Data.
* cosmetic changes in documentation.
frog [Wed, 7 May 2003 13:21:49 +0000 (13:21 +0000)]
* The subdirectory Data (containing all the images used for the
test suite) is not part of this repository anymore. A new module
containing those images is now available at
:pserver:xxx@cvs.creatis.insa-lyon.fr:2402/cvs/public
with the name gdcmData.
All the python scripts (including the package initialisation file
gdcmPython/__init__.py) were adapated to take this change into
account (basically GDCM_DATA_PATH is now GDCM_TEST_DATA_PATH).
frog [Mon, 5 May 2003 14:13:58 +0000 (14:13 +0000)]
* vtk subdir added. Contains vtkGdcmReader.[cxx|h] a vtk class
inherinting from vtkImageReader and testvtkGdcmReader.cxx a small
demo of the usage of this class.
Compilation of this vtk part is only done when using the --enable-vtk
at configure (or autogen.sh) stage.
UML design file added. This file contains a class diagram that shows the
actual state of the project. Some work has to be done in order to:
- Eliminate relationship cycles, if possible.
- Separate classes in packages.
- Include all existing documentation.
- Do a software engineering process to discover the package's real behaviour
Vs its desired behaviour. Ideally, this difference should be 0.
* More memmory link related corrections and documentation fixes.
Notes on valgrind:
- maximum info is obtained with a command of the form:
valgrind --leak-check=yes --leak-resolution=high --num-callers=40
--show-reachable=yes PrintHeader
- the remaining reachable blocks seem to come from the STL
allocation scheme through the usage of map and list. It looks
like this memory cannot be freed but it is not a memory leak
(in fact further invocation to the STL would recollect the
unused memory allthough it cannot explicitely be freed).
* gdcmPython/demo/vtkGdcmDemo.py added: this is a small demo
of displaying an image parsed with gdcm and displayed with VTK.
Note: some images don't seem to work e.g.
python vtkGdcmDemo.py ../../Data/US-RGB-8-esopecho.dcm
* src/gdcmHeader.x: dicom_vr and Dicts are not class members anymore.
Allthough this weakens the semantics, it is a ditch attempt to
make gdcm more thread friendly. --- Frog
* Memory link hunt (by using valgrind --leak-check=yes PrintHeader).
- added src/gdcmVR.cxx gdcmVR.h that objectify the previous
gdcmHeader::_dicom_vr.
- gdcmHeader::InitVRDict transfered as gdcmVR::gdcmVR().
- gdcmHeader::dicom_vr is now of type gdcmVR* as opposed to
VRHT*.
- gdcmGlobal global object contained class added (see src/gdcmUtil.x)
Correction calcul 'gdcmZSize' dans AddAndDefaultElements.
Question : Utilité d'une telle fonction, qui ajoute des Elements non ACR/DICOM dans le PubElValSet
(problèmes lors du DCM Write à prévoir)
--> A remplacer par des accesseurs propres ?