jpr [Tue, 4 May 2004 15:03:01 +0000 (15:03 +0000)]
Taking into account the 'Dicom Sequences' leads up to introduce new concepts
(and new classes) :
a 'gdcmDocument' is composed of a set of Doc Entries, that are
- elementary gdcmDocEntries (former gdcmHeaderEntries)
- Sequence Doc Entries (gdcmSeqEntries)
a Sequence is composed of Items.
Each item is a set of Doc Entries (this is recursive)
The non uniqueness of the 'Dicom tag' is due to this recursivity
(never taken into account)
Our unability to add a new 'entry' in the header
at the proper location (neither in the H-Table (map or multimap), nor in
the Chained List is also due to this recursivity.
Don't try, right now, to use/modify/compile these new sources : nothing is
finished.
We just commit all the stuff, 'as is', in order not to loose it.
ENH: Add Example stuff with real main:
1. Should be easier to use
2. This is a real example on how to read + write a dicom image, thus make sense to have it
* Doc/CMakeLists.txt: the main page is now properly differentiated
between the developper and user version.
* Doc/doxygen.config.in: dropped search related obsolete flags
* src/gdcmParser.h: doxygenation
ENH: 1. Remove remp solution of gdcmTests.cxx+ gdcmMain directly in src director, now generated in the build dir.
2. Tests as mentionned smarter
3. Some clean up
4. Add a new method in gdcmDict that return the PubDict by name this is intersting for 3rd party lib like ITK, where we could set the institution anme / patient name...
2004-04-28 Jean-Pierre Roux
* ENH add the provisional gdcmHeader::SQDepthLevel to allow
SeQuence indented printing of Dicom Header
* ENH merge methods gdcmParser::Parse and gdcmParser::LoadHeaderEntries
into the single gdcmParser::LoadHeaderEntries for efficiency purpose
Computation of SQDepthLevel is now part of gdcmHeader constructor
ENH: Adding automatic testing
1. Need a DartConfig.cmake to submit to public
2. Add a test driver gdcmTest.cxx
3. gdcmTestMain, an helper for the main test driver gdcmTest
4. Files in Test don't have a main anymore, this becomes intersting when we add more and more tests, thus dsw don't have to load too many projects
2004-04-22 Jean-Pierre Roux
* ENH Minor changes to the Print() methods
* ADD gdcmParser::PrintEntryNiceSQ() to allow SQ-indented
Header printing. Example given with :
PrintHeader fileName 2 new
(SQ based tree-like structure still to be done for the Header ...)
some cosmetic cleanup so that compilation : -W -Wall -Werror can pass.
1. I have added some unsigned where needed
2. Some function parameter not used -> (void)
3. In gdcmDicomDir.cxx, add GDCM_DICOMDIR_NONE case
4. g++ don't like character '\' in comment
5. #define jpeg_create_decompress jCreaDecompress this really need to be fixed
6. virtualize destructor of gdcmObject ... leakage
7. sscanf(g->first.c_str(),"%x",&gr_bid); this also really need to be fixed
8. gdcm/src/jpeg/libijg8/CMakeLists.txt, remove compression file (as we only do decompression, right ?)
frog [Tue, 30 Mar 2004 09:16:26 +0000 (09:16 +0000)]
* src/gdcmParser.[cxx|h] and gdcmHeader.[cxx.h]: gdcmHeader::Write split
in WriteEntryTagVRLength and WriteEntryValue. Those methods were
moved to base class gdcmParser and only the specialisation is kept
in gdcmHeader.
* src/gdcmParser.[cxx|h]: ReplaceOrCreateByNumber(char*, guint16, guint16)
trashed out (because ReplaceOrCreateByNumber(string, guint16, guint16)
allready does the job.
* src/gdcmDicomDir.[cxx|h]: WriteDicomDirEntries renamed to WriteEntries
(to be consistent with gdcmParser::WriteEntries).
regrain [Tue, 30 Mar 2004 08:20:58 +0000 (08:20 +0000)]
* vtk/vtkGdcmReader.[h|cxx] : fix the read of 3 gdcmHeader when making an
upate of the object's instance. It's passed to 2 in the unfavorable
case : one in the ExecuteInformation, one in the ExecuteData
-- BeNours