+2005-04-05 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDictGroupName.[h|cxx] : add a correlation between a group (number)
+ and it's representation name (for the NIH)
+
+2005-03-31 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmPixelReadConvert.cxx : problems of around of double to uint8, when
+ conversion of YBR to RGB pixels. So, now, the conversion is made using
+ integers only
+
+2005-03-30 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Testing/TestAllReadCompareDicom.cxx : now use test files (invented file
+ format) to replace 'at-run' dicom files generated by the
+ TestAllReadCompareDicom test
+
+2005-03-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFileHelper.cxx : remove memory leaks and bugs when writing files
+
+2005-02-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFileHelper.cxx : JPR bad personal choices fix
+
+2005-02-11 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Testing/TestMAkeIcon.cxx : complete the test
+
+2005-02-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Testing/TestWriteSimple.cxx, TestSequence.cxx : fix memroy leaks
+
+2005-02-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFileHelper.[h|cxx] : now correctly set the VR of the datas when
+ writting the file
+
+2005-02-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/VTKTestWriteSeq.cxx : add a VTK test to write sequences
+
+2005-02-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/ : accelerate tests (it's not very significant accelerations).
+ Remove TestCopyDicom that is redundant with TestCopyRescaleDicom
+
+2005-02-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Testing/TestSequence.cxx : add test for sequences of images... test that
+ we have the same serie or the same study UID
+
+2005-02-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * gdcmPython/gdcm.i : bug fix. Now string are correctly converted in python
+ string type
+ * src/gdcmDict.h : remove commented code
+ * src/gdcmDocument.cxx : initialize values
+ * src/gdcmFile.cxx : bug fix when reading values
+ * gdcmPython/demo/ : change file names. Remove useless files
+
+2005-02-04 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFile.cxx : remove the default array of initialization.
+ The static array contained pointers to non-static values (comming from
+ strings). To have coherences, when creating files, these values can't be
+ static. So, the array can't be static, too ! To simplify, the array have
+ been replaced by repeted lines to insert values in the File
+
+2005-02-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmBinEntry.cxx : bug fix for BIG_ENDIAN part when writing the content
+ * gdcmPython/gdcm.i : rename gdcmHeader to gdcmHelper
+
+2005-02-02 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * FIX SQItem::AddEntry inserts now *in the right place* any Entry
+ (Dicom Element) into the Sequence Item
+
+2005-01-31 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/*.cxx : first parss to normalize file organisation
+
+2005-01-31 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDirList.[h|cxx] : add method to find a directory
+ * Test/TestAllReadCompareDicom.cxx : bug fix under Windows
+
+2005-01-31 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Finish cleaning up my JPEG mess. Should be ok now.
+ * Getting toward a RLE very similar to JPEG. Every RLE stuff is now self
+ contained within the RLE* class(doh!)
+
+2005-01-30 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * SerieHeader::SetDirectory() allow recursive exploration of the Directory
+ * SerieHeader::AddFileName() creates as many Coherent Files lists
+ (same Serie UID) as it founds different Serie UID
+ amongst the files instead of discarting any file
+ that doesn't match with the first one he found.
+ * SerieHeader::OrderGdcmFileList has now one parameter :
+ the Coherent Files list the user wants to sort
+ * SerieHeader::GetFirstCoherentFileList() |
+ * SerieHeader::GetLastCoherentFileList() | allow to parse
+ the set of Coherent Files lists
+ * const SerieHeader::GdcmFileList &GetGdcmFileList() is kept, for backwards
+ compatibility (it returns the *first* Coherent Files list,
+ since there was only one before)
+ * Test/TestSerieHeader gets gdcmData as a default root directory
+
+2005-01-28 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Remove friend between DocEntry and File classes
+ * Remove friend between PixelReadConverter and RLEFramesInfo,
+ JPEGFragmentsInfo
+
+2005-01-28 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFile.cxx, gdcmDocument.cxx : fix the bug on the group|element
+ 0002|0000. The value was incorrect.
+
+2005-01-28 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmWriter.[h|cxx] : add the gestion of UID
+
+2005-01-28 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmUtil.cxx : compilation fix on Win32
+ * src/gdcmUtil.[h|cxx] : Set the default GDCM UID in a static constant
+ variable, to be easy found. Add methods to change the default UID.
+ Amelioration of the CreateUniqueUID to use the correct default UID.
+ * src/gdcmFile.cxx : correct use of the CreateUniqueUID method to create
+ a new file
+
+2005-01-28 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/TestVR.cxx : fix memory leaks
+
+2005-01-27 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Rewrite the base 256 to base 10 conversion, using string operation only.
+ This allows us to get rid of the problematic 64bits integer type (does not
+ always exist on target platform).
+
+2005-01-27 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * Add construct and destructor to class gdcm::Debug to close the debug file
+ automatically
+ * Don't let uset to open twice the same file
+ * gdcm has now an official UID prefix,
+ supplied by http://www.medicalconnections.co.uk
+ 1.2.826.0.1.3680043.2.1143
+ (Thx to Mathieu for providing URL)
+ * Add a forty-entries private Dicom Dictionary (Philips MR Intera)
+ to be able to perform some more tests
+ * gdcm::ContentEntry : Contructors and Destructor are now protected,
+ in order to be sure no user will try to use them.
+ (at user level, only the children classes are meaningfull)
+
+2005-01-26 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * move RLEInfo & JPEGInfo from Document to File
+
+2005-01-26 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * FIX : remove so many friend between classes
+
+2005-01-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocEntrySet.cxx : Bug fix when getting the value
+ * src/gdcmContentEntry.[h|cxx], gdcmValEntry.cxx : amelioration of code
+
+2005-01-25 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ In order to avoid missbehaviour :
+ . gdcm::DocEntry is now specialized in
+ - gdcm::SeqEntry (Dicom Sequence) as opposed to :
+ - gdcm::ContentEntry (Dicom entry with a 'content')
+ . gdcm::ContentEntry is specialized in
+ - gdcm::ValEntry (Dicom entry with a std::string representable value, i.e.
+ characters value, or integers)
+ - gdcm::BinEntry (Dicom entry with a non strig representable value
+ (user hasn't any longer to thing about the precedence of his dynamic_casts)
+
+2005-01-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/VTKTest*.cxx : bug fix under linux
+
+2005-01-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/ : rename some methods on Entry (SetXxx, InsertXxx) to have a better
+ use with python. Some methods are moved from Document to ElementSet or
+ DocEntrySet. The equivalent methods to ElementSet have been added to
+ SQItem and are virtual in DocEntrySet. Methods that may have the same code
+ in SQItem and ElementSet is directly placed in DocEntrySet
+
+2005-01-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/VTKTest*.cxx : remove the show variable in each test method because
+ it's useless (the viewer variable replace this variable)
+
+2005-01-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocument.cxx : bug fix on potential memory leak
+ * src/gdcmSQItem.cxx : initialize the SQItemNumber value in the constructor
+ * src/gdcmSQItem.[h|cxx], gdcmElementSet.[h|cxx], gdcmDicomDir*.[h|cxx] :
+ Add ClearXxx methods to remove all the content of the list or map
+ * gdcmDocEntrySet.h : add GetFirst/NextEntry in pure virtual
+
+2005-01-25 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * methods ReplaceOrCreate renamed as Insert
+ (nobody will be any longer confused by 'CreateOrReplace')
+
+2005-01-24 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Grealty simplify the JPEg decompression, no need to differenciate based on
+ the JPEG possible type (with/without fragment, with/without multiple frame).
+ Everything is done throught the JPEG IO Suspension mechanism in IJG
+
+2005-01-24 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * Stage 3 of normalization :
+ in order to avoid any missunderstanding while reading method names :
+ - All the methods xxxEntry now deal with dicom Entries
+ - Methods GetEntry splitted into
+ GetEntryValue
+ GetEntryBinArea
+ - Method SetEntry renamed as SetEntryValue
+ - Method SetEntryBinArea let as it was
+
+2005-01-24 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ - Add empty nutshell for JPEG-LS (JPG-LS in NOT jpeg 'lossless')
+ - Position correctly the entry points for JPEG2000 and JPEG-LS
+ (Now Fragments info is get from the file, even for JPEG2000 and JPEG-LS)
+
+2005-01-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDicomDirElement.h, gdcmDict.h : rename AddNewXxx methods to AddXxx.
+ * src/gdcmDict.h : rename GetDictEntry moethod to GetEntry, to be coherent
+ with other method names
+ * gdcmPython/gdcm.i : bug fix. Add the typemaps for the TagName type
+ * Test/TestDicomDirElement.cxx : add new test
+
+2005-01-22 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Finish the CreateUniqueUID stuff. Seems to compiled/runs on every
+ plateforms ITK support. Had some troubles with uint64_t on Win32, go to
+ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_langref_data_type_ranges.asp
+ for more info. Basically you can not used 'unsigned' __int8 in an ostream.
+ So can't you use __int64 in ostream at all.
+
+2005-01-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * bug fix for compilation on MSVC6
+ * gdcmPython/gdcm.i : rename of classes missed
+
+2005-01-21 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * Stage 2 of names normalization :
+ - A gdcm::Document is now either a gdcm::DicomDir or a gdcm::File
+ (easy to understand ...)
+ - gdcm::FileHelper replaces old class gdcm::File
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * gdcmDicomDirElement.[h|cxx] : change the AddEntry method. Now, it gets a
+ type and not a string. So, there remove problems on the format of the
+ string.
+
+2005-01-20 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * Add Example/TestPapyrus.cxx
+ - reads a Papyrus file (gdcm::Header compliant),
+ - gets the pixels of all the images, using low level iterators
+ - writes an multiframes Dicom image.
+ (Just to show it's *possible* to do that)
+ Uses SQItems accessors (we could use it as a 'Test' program, to improve test
+ coverage ...)
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDicomDirObject.h : set the FillObject method in protected.
+ Thus, DicomDirXXX are created with a flad that indicates if the created
+ object is empty or not (when not empty, the DicomDirElement is used to
+ fill the object)
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDicomDir.cxx : simplify the NewPatient method, like made in
+ gdcm::DicomDirPatient, gdcm::DicomDirStudy, gdcm::DicomDirSerie
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmSQItem[h|cxx] : rename some methods to have coherent names
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDicomDir*.[h|cxx] : rename methods to be logik in their name.
+ Remove all access to the hash-tables or lists in the objects.
+
+2005-01-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDebug.h : remove the Debug test in the gdcmErrorMacro
+ * src/gdcmDocument.[h|cxx] : rename the Initialise method to Initialize, to
+ be complient with all the gdcm source code
+
+2005-01-19 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocEntry.h : DocEntry is now secure. User can't change the
+ DictEntry or the VR.
+
+2005-01-19 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * gdcmPython/ : change GDCM_DATA_PATH to GDCM_DATA_ROOT to be complient with
+ all in gdcm
+
+2005-01-19 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/ : rename VTK tests to have a best name for the tests
+ * gdcmPython/demo/*.py.in : Change the InitTraversal/GetNextEntry use to
+ GetFirstEntry/GetNextEntry use
+
+2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * In SerieHeader::ImagePositionPatientOrdering()
+ // a Dicom 'Serie' may contain scout views
+ // and images may have differents directions.
+ // -> More than one may have the same 'pos'
+ // Sorting has then NO meaning !
+ Thx to Eduardo Davila for reporting bug.
+
+2005-01-18 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/ShowDicom.cxx, ShowDicomSeq.cxx, TestWriteWithVTK.cxx : change the
+ test. Now it's on image content and not on the resulting visualisation...
+ might solve the problem on linux when using the OpenGL drivers
+
+2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * ENH for DicomDir, DicomDirPatient, DicomDirStudy,
+ DicomDirSerie, DicomDirImage
+ Dict, DictSet classes :
+ -add method GetFirstEntry to replace call to InitTraversal+GetNextEntry
+ -remove InitTraversal method.
+ * UPD Test programs + Example programs
+
+2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * remove useless and never updated keyword \ingroup
+ * Solve pb when structure (list, map, ...) is empty.
+ Thx to Benoit for reporting bug
+
+2005-01-18 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * Taking into account of 'Transfer Syntax' value
+ (for 'true' Dicom V3 files, the 'ACR-NEMA' heuristics sometimes gives
+ unaccurate result)
+
+2005-01-17 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmUtil.cxx : bug fix to find the Windows MAC address. Now, there
+ is no memory access violation
+ * gdcmPython/demo : add python demos using VTK
+
+2005-01-16 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * FIX 'Dictionnary' is now spelt 'Dictionary'
+ 'wether' is now spelt 'whether'
+ 'archieve' is now spelt 'archive' ;-)
+
+2005-01-15 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * ADD DicomDir, DicomDirPatient, DicomDirStudy, DicomDirSerie, DicomDirImage
+ related methods, in order not to expose internal mechanisms
+ InitTraversal();
+ GetNextEntry();
+ * REM methods that exposed internal mechanisms :
+ DicomDir::GetDicomDirPatients()
+ DicomDirPatient::GetDicomDirStudies()
+ DicomDirStudy::GetDicomDirSeries()
+ DicomDirSerie::GetDicomDirImages()
+ * UPD Test programs :
+ makeDicomDir.cxx
+ BuildUpDicomDir.cxx
+ TestDicomDir.cxx
+ * UPD Example program
+ PrintDicomDir.cxx
+ * ADD DictSet methods
+ InitTraversal()
+ GetNextEntry()
+
+2005-01-15 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Removed the Print/indent/default parameter mess. There is absolutely no
+ reason to have to methods, moreover with the second taking the ostream as
+ *SECOND* parameter. This was clearly a bad hack to get things compile.
+
+2005-01-15 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Complete rewrite of the GetMacAddress code. Now the code is *much*
+ smaller (no more MacOSX specific crap). A lot more POSIX oriented.
+ Unfortunately the main code does not work on SunOS, thus provide a specific
+ code for this platform only (and Win32 of course). Since this seems to be
+ working, change CreateUniqueUID to use GetMACAddress instead of the
+ problematic GctestetIPAddress
+
+2005-01-14 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Unfortunately to be able to test gdcmDirList I had to break the API
+ a little. Now the class is not a std::list anymore but has a member
+ std::vector (more ITK compatible). Allow unit testing on Win32 and
+ shared libs.
+
+2005-01-14 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Update SerieHeader to take into account a Serie Instance UID to properly
+ sort DICOM files
+
+2005-01-13 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * ENH - Comment out Mathieu's (dangerous) Super Hack
+ for dealing with BIGENDIAN processors
+ - Move equivalent stuff to BinEntry::WriteContent
+ When necessary, 16 Bits Pixels are swapped in a small buffer
+ and then written. This avoid allocating a huge buffer, in
+ PixelWriteConvertor, and avoid modifying the Pixel Area.
+ Note :
+ Probabely, the same operation will have to be done when we want
+ to write image with Big Endian Transfert Syntax,
+ and we are working on Little Endian Processor
+
+2005-01-14 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocument.[h|cxx] : comment all methods concerning a flat hash
+ table.
+ * src/gdcmElementSet.[h|cxx] : rename Initialize into InitTraversal
+ * src/gdcmDict.[h|cxx] : add InitTraversal/getNextEntry methods to parse
+ all the dict content.
+ * src/gdcmDictEntry.cxx : add a carriage return at the end of the DictEntry
+ print
+ * Test/TestDict.cxx : add a new test for the dict classes
+
+2005-01-13 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * src/gdcmDebug.h : Adding an option to redirect debug stream to a
+ file. Debug is yanked if compiled with NDEBUG
+