+2004-10-18 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Doc/CMakeLists.txt, doxygen.config.in: when dot is present the
+ collaboration diagram and inheritance diagram should be generated with
+ doxygen.
+ * Doc/Website/Sidebar.html: Dashboard is now also in the sidebar.
+ * gdcmPython/gdcm.i: gdcmRLEFramesInfo.h gdcmJPEGFragmentsInfo.h are
+ pointlessly wrapped (see
+ http://www.creatis.insa-lyon.fr/pipermail/dcmlib/2004-October/000692.html )
+ * CLEANUP_ROUND (12) for gdcmPixelConvert (sugar is my friend stage)
+ - Header::GetLUTRGBA() moved to PixelConvert::GetLutRGBA()
+ - vtk/vtkGdcmReader.cxx: adapted to displacment of Header::GetLUTRGBA()
+ - Document::RLEInfo and JPEGInfo are now pointer members (Swig thing)
+ - src/gdcmFile.[cxx|h] and gdcmPixelConvert.[cxx|h]:
+ -- File::Initialise: PixelConverter setup moved away to
+ PixelConverter::GrabInformationsFromHeader()
+ -- File::GetImageDataIntoVector(): Lut R + Lut G + Lut B color table
+ interpretation moved away to PixelConverter::BuildRGBImage()
+
+2004-10-16 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Remove GDCM_EXPORT keyword from gdcm::DirList due to :
+ http://support.microsoft.com/support/kb/articles/Q168/9/58.ASP
+
+2004-10-15 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmDebug.cxx last ditch attempt to get warning/error messages
+ displayed on Win32 when a brutal abort() occurs (because of uncatched
+ exception). See TODO new entry of this commit for more on this.
+ * TODO added new entry.
+ * CLEANUP_ROUND (12) for gdcmPixelConvert (nicotine is my friend stage)
+ src/gdcmFile.[cxx|h] and gdcmPixelConvert.[cxx|h]:
+ - HandleColor is no longer called from gdcmFile.cxx
+ - gdcmPixelConvert.cxx clean up on method arguments and internal
+ variable names for semantical coherence.
+
+2004-10-14 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Finished lossless transition, not only do we now read all lossless jpeg
+ images, without the need of the Cornwell lib, but we do read them properly now
+ * To reduce code (well to avoid code duplication), I defined a common place
+ for jpeg read/write: gdcmJpeg.cxx. Now gdcmJpeg[8,12 16] include this file and
+ redefine symbols. This is not prefect but this the best solution I found for a
+ compilation time jpeg option.
+
+2004-10-13 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Update jpeg ijg lib to support lossless jpeg implementation
+ For more info look in jpeg/libijg/README.GDCM.txt for necessary steps to
+ reproduce at home.
+ * Also added a special copyright for dcmtk since we use their bugfixes.
+ Thanks dcmtk crew !
+
+2004-10-13 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Doc/Website/MailingList.html added (Sidebar.html changed accordingly).
+ * gdcmPython/gdcm.i: fix for compilation of wrappers (Note: %include order
+ matters, as stated in warning note at begining of %include section).
+ * src/gdcmDicomDir*.[cxx|h]: coding style
+ * src/gdcmDocument.h: doxygen \ref seems uncompatible with \todo.
+ * src/gdcmJpeg8.cxx: doxygen fix.
+ * CLEANUP_ROUND (12) for gdcmPixelConvert (seing the ligth stage)
+ src/gdcmFile.[cxx|h] and gdcmPixelConvert.[cxx|h]: color handling moved
+ from File:: to PixelConvert::.
+
+2004-10-12 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * CLEANUP_ROUND (11) for gdcmPixelConvert (cafeine is my friend stage)
+ src/gdcmFile.[cxx|h] and gdcmPixelConvert.[cxx|h]:
+ - more code moved away from File:: to PixelConvert::
+ - fat setup of PixelConverter set in place in File::Initialise.
+
+2004-10-12 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Apply patch for namespace in gdcm. Didn't rename files for keeping a sort of
+ namespace at the file system level. So now you should convert your examples
+ like this:
+ gdcmHeader -> gdcm::Header
+ It would be nice if people keep in mind to no open the namespace, since it
+ allows compilation on broken plateform which were defining common symbol in
+ the standart namespace (like LP, Unknown ...)
+
+2004-10-10 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * CLEANUP_ROUND (10) for gdcmPixelConvert (Xanax is my friend stage)
+ The JPEG fragments are now parsed at the same stage than the RLE
+ information. All code related to JPEG is now in gdcmPixelConvert:
+ - src/gdcmJPEGFragment.h and gdcmJPEGFragmentsInfo.[h|cxx] added
+ - src/gdcmJpeg12.cxx, gdcmJpeg2000.cxx and gdcmJpeg8.cxx no longer
+ export a gdcmFile:: method. Those are simply global functions
+ (for the time being this is better than having them attach to
+ either gdcmFile:: or gdcmPixelConvert::).
+ - src/gdcmDocument.[cxx|h], gdcmDocument:: now parser the JPEG fragments
+ and stores the result in a gdcmJPEGFragmentsInfo.
+ - src/gdcmFile.[cxx|h] and gdcmPixelConvert.[cxx|h]: all JPEG related
+ code (among other stuff) moved away from gdcmFile:; to
+ gdcmPixelConvert::
+
+2004-10-08 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmCommon.h now declares int8_t for non stdint.h plateforms.
+ * CLEANUP_ROUND (7) for gdcmPixelConvert (lost at sea)
+ - src/gdcmFile.h gdcmPixelConvert.cxx gdcmPixelConvert.h gdcmRLE.cxx:
+ clean up of RLE related code.
+ * CLEANUP_ROUND (8) for gdcmPixelConvert (end of RLE nigthmare)
+ - src/gdcmRLE.cxx removed
+ - src/gdcmPixelConvert.cxx all RLE code is now in PixelConvert::
+ - src/CMakeLists.txt gdcmFile.[cxx|h] changed accordingly
+ - src/gdcmRLEFrame*.h gdcmPixelConvert is now a friend class.
+ * CLEANUP_ROUND (9) for gdcmPixelConvert
+ - src/gdcmFile.[cxx|h} gdcmPixelConvert.[cxx|h], SwapZone(),
+ ConvertReorderEndianity(), ConvertDecmpres12BitsTo16Bits() moved
+ away from gdcmFile:: to gdcmPixelConvert::.
+
+2004-10-07 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * CLEANUP_ROUND (5) for gdcmPixelConvert (Upshit creek without a paddle)
+ - src/gdcmDocument.[cxx|h] Parse7Fe0 renamed to ComputeRLEInfo.
+ This is because Parse7Fe0 used to parse the pixels to compute the
+ length. This task was passed over to FindDocEntryLengthOB() a long
+ time ago, EXCEPT I had forgotten the OW case...
+ Hence Parse7Fe0 was no longer necessary. When renaming to ComputeRLEInfo
+ we just recylce the code for parsing RLE fragments and computing
+ offsets.
+ * CLEANUP_ROUND (6) for gdcmPixelConvert (man, I need a paddle bad)
+ - src/gdcmRLE.cxx: is now much simpler and avoids code replication
+ with the retired Parse7Fe0().
+ - src/gdcmRLEFrame.h: type fix for properly computing OffSet[]
+ - src/gdcmDocument.cxx: segments offset are now correct + clean up.
+
+2004-10-06 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * CLEANUP_ROUND (3) for gdcmPixelConvert (nightmare stage)
+ - src/gdcmRLEFramesInfo.[cxx|h], gdcmRLEFrame.h added
+ - src/gdcmDocument.[cxx|h] ::Parse7FE0 now sets up the RLEInfo.
+ - src/CMakeLists.txt: alphabetic order reodering + new entries.
+ * CLEANUP_ROUND (4) for gdcmPixelConvert
+ - src/gdcmDocument.[cxx|h] ::ParseDES and ::ParseSQ no longer bother
+ to return an unused length.
+
+2004-10-09 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Remove all sprintf from the code to centralize in one spot in gdcmUtil
+ this should be cleanner from the plane view. The iostream are erally a pain
+ to use to do simple stuff.
+
+2004-10-04 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Redo the compilation of the ijg jpeg library. Now only one source is
+ necesseray. No need to rename file by hand what so ever. CMake handle the
+ copying of the file within different directory, configure header file to
+ modify some symbol. The only addition made to ijg wasd a mangle table so
+ that symbol are different wether we are within 8bits or 12bits.
+
+2004-10-01 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Added documentation of vtkgdcmReader on Website:
+ - testvtkGdcmReader.cxx renamed to vtkGdcmDemo.cxx (to be compatible
+ with it's binary name).
+ - vtk/vtkGdcmDemo.cxx and vtkgdcmViewer.cxx: added comments for
+ the Website to be more complete.
+ - Doc/doxygen.config.in: vtk/vtkGdcmReader.cxx now appears on
+ doxygenated documentation.
+ - Doc/DoxyVtkGdcmReaderExamples.txt added
+ (see http://www.creatis.insa-lyon.fr/Public/Gdcm/html.developper/
+ DoxyVtkGdmReaderExamples.html )
+ * src/win32, vtk/win32 manually maintained .dsp and .dsw removed.
+ * CLEANUP_ROUND (3) for gdcmPixelConvert
+ - src/gdcmFile.cxx, gdcmFile.h splitting GetImageDataIntoVectorRaw
+
+2004-09-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * CLEANUP_ROUND (2) for gdcmPixelConvert
+ - src/gdcmFile.cxx, gdcmFile.h splitting GetImageDataIntoVectorRaw
+
+2004-09-29 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * CLEANUP_ROUND for gdcmPixelConvert:
+ - src/gdcmFile.cxx, gdcmFile.h, gdcmHeader.cxx, gdcmHeader.h clean up
+ - src/gdcmPixelStuff[h|cxx] removed
+ - src/gdcmPixelConvert[h|cxx] added. Preparatory work included.
+ - src/CMakeLists.txt changed accordingly
+ * GDCMHOME clean up:
+ - MANIFEST.in, WrapSwig.py, WrapVTK.py, distutilsWrapping.py and
+ gdcmVersion.py moved to newly created ATTIC related
+ gdcmPython/SetupOldies/ directory.
+ * Autotools clean up:
+ - */*/Makefile.am removed AT EXCEPTION of gdcmPython/Makefile.am
+ - autogen.sh configure.in acinclude.m4 python.m4 removed
+
+2004-09-27 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/*.cxx *.h Reference to License.htm fixed to License.html.
+ * Doc/CMakeLists.txt, doxygen.config.in: fix.
+ * Doc/Website/ConformanceSummary.html, minimal conformance statement added.
+
+2004-09-24 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * TODO updated with Mathieu suggestions. I proposed a template for
+ describing TODO entries and used it for new entries.
+ * Added Doc/Website/CodingStyle.html, Developpers.html,
+ DeveloppersPython.html, GdcmDataCvs.html and
+ DownloadVersion0_1.html, DownloadVersion0_3.html.
+ * Some Doc/*.txt Doxygen files (which do not really concern the
+ documentation itself, but the website) moved to html and
+ placed in directory Doc/Website:
+ - Doc/DoxyDevelInstal.txt moved to Doc/Website/Developpers.html
+ - Doc/DoxyInstallation.txt moved to Doc/Website/Installation.html
+ - Doc/DoxyIntroduction.txt included in Doc/Website/Main.html
+ * Doc/DoxyfileDeveloppers, DoxyfileUsers, Makefile.am oldies removed.
+ * CMakeLists.txt changed accordingly.
+ * DEVELOPPER spread out in Doc/Website/Developpers.html, CodingStyle.html,
+ DeveloppersPython.html
+ * INSTALL nows refers to Doc/Website/Installation.html
+
+2004-09-23 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Added Doc/Website directory, that contains a first raw version
+ of gdcm Web site.
+
+2004-09-23 Jean-Pierre Roux
+ * FIX In order not to be poluted any longer by casting problems,
+ the member VoidArea of gdcmBinEntry is now uint8_t* (instead of void *)
+ we can now delete[] it safely
+ * VoidArea is now called BinArea (less confusing name),
+ and all the methods called ...VoidArea... are now ... BinArea...
+ * class gdcmObject is now called gdcmDicomDirObject (less confusing name)
+
+2004-09-22 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * src/gdcmDocument.cxx: gdcmDocument::~gdcmDocument() doesn't clear (nor
+ clear) TagHT, which is an inherited member of gdcmElementSet. It is
+ up to the destructor of gdcmElementSet to clean up TagHt and it's
+ pointed content.
+
+2004-09-21 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * Test/CMakeLists.txt: update to follow gdcmData renamings.
+ * src/gdcmCommon.h, gdcmDocument.cxx: doxygen typos
+
+2004-09-17 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * 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 <Eric.Boix@creatis.insa-lyon.fr>
+ * 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 <Eric.Boix@creatis.insa-lyon.fr>
+ * 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<SeqTag>
+ where <SeqTag> 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 <Eric.Boix@creatis.insa-lyon.fr>
* Test/TestAllEntryVerify.cxx minor fix and added comments.