+Sat Nov 12 09:59:24 EST 2005 by malaterre
+ * Some more update to the DICOMV3 dic. Tons of fix most of them should not
+ impact gdcm internal since VR/VM are not used...well except for SQ item
+ wich should explain some bizarre case :)
+ -> group 0000 is still in DICOMV3 dict whereas it should clearly be in
+ ACR-NEMA only.
+
+Mon Oct 24 13:34:45 EDT 2005 by malaterre
+ * Adding the OpenJPEG library. It contains a patch from Antonin compared to
+ the official release that allow us to work around the famous 16bits issues
+ in jasper
+
+Mon Oct 18 10:27:49 2005 by regrain
+ * Correctly use the VRKey for all vr variables... instead of TagName
+ or std::string
+ * Replace the definition of VRKey from std::string to a class
+ containing a char[2]. All methods are inline to have no speed low
+ * Create the GDCM_VRUNKNOWN = " " for the VR values
+
+Mon Oct 18 10:27:49 2005 by regrain
+ * Remove useless constructor of gdcm::Document
+ * Remove useless parameter in the constructor of gdcm::ElementSet
+ * Split gdcmCommon to separate the System specifications to the gdcm
+ specifications
+
+Mon Oct 18 10:27:49 2005 by regrain
+ * Minor coding-style clean up
+ * Replace the ContentEntry and its derived classes (BinEntry and ValEntry)
+ by the DataEntry. This unique entry considers all datas like binary datas.
+ Some methods are added to interpret - at fly - the binary datas.
+ Due to this important change, some methods of the DocEntrySet, concerning
+ the BinEntry and ValEntry classes, are erased ; and new methods for the
+ DataEntry class are created.
+ Some methods to set the ValEntry or the BinEntry are renamed to
+ correspond to the new DataEntry, like for example :
+ - SetValEntry -> SetEntryString
+ - SetBinEntry -> SetEntryBinArea
+ This change will remove all useless creation of the string when working
+ directly on values.
+
+Thu Aug 25 16:59:49 2005 by jpr
+ gdcmBinEntry.cxx
+ Now Print displays the BinEntry Content (if it's printable, and loaded)
+ Usefull for a lot od Implicit VR 'Bin'Entry (if we knew there VR, they wouldn't
+ be Bin ...)
+ Appreciate the difference having a look at PrintFile result for
+ gdcmData/SIEMENS_MAGNETOM-12-MONO2-FileSeq0.dcm.
+
+Thu Aug 25 16:55:47 2005 by jpr
+ gdcmUtil.cxx
+ Add methods to check the 'printability' of a bin area
+
+Thu Aug 25 15:45:40 2005 by jpr
+ gdcmBinEntry.cxx
+ According to Mathieu's suggestion, Print now display FL BinEntries in a human
+ readable form
+
+Thu Aug 25 15:12:43 2005 by jpr
+ gdcmDocEntry.cxx
+ According to Mathieu's suggestion, *all* the elements 0x000
+ are now named 'Group Length' (even if they belong to a Shadow Group')
+
+Wed Aug 24 14:09:13 2005 by jpr
+ gdcmDocEntry.cxx,h, gdcmDocEntrySet.cxx,h
+ Removal of QD patch for Private Sequence + Immplicit VR.
+ Add a clean solution (Backtracking if an Item Starter is found
+ out of any SQItem)
+
+Tue Aug 23 14:57:49 2005 by jpr
+ gdcmDocument.cxx
+ Brutal patch, waiting till we find a clever way to guess
+ if a doc entry is a Sequence,
+ - when it's odd number
+ - and the file is Implicit VR Transfert Syntax
+It solves temporarily some Philips Medical Systems image problems
+
+Mon Aug 22 18:17:54 200 by jpr
+ gdcmUtil.cxx
+ Save a *few* microseconds at run time : inline method Util::GetVersion()
+ ;-)
+
+Tue Aug 23 14:58:49 2005 by jpr
+ gdcmSeqEntry.cxx, gdcmDocEntry.cxx
+ Improve 'Print' methods
+
+Sat Aug 20 11:10:24 2005by jpr
+ TestWriteSimple.cxx
+ Use new style FileHelper contructor
+
+Sat Aug 20 11:04:50 2005 by jpr
+ gdcmFileHelper.cxx
+ FileHelper::Initialize() doesn't call GrabInformationFromFile(),
+ in order not to do the job twice when using new style FileHelper Constructor.
+
+Fri Aug 19 18:31:07 2005 by malaterre
+ gdcmCommon.h
+ ENH: Provide a GetVersion function, apparently need for python
+
+Fri Aug 19 15:12:15 2005 by jpr
+ gdcmFileHelper.cxx
+ Initialize UserFunction pointer to 0, even for 'deprecated' form
+ of constructor.
+
+Sat Jul 30 20:27:00 2005 by jpr
+ gdcmFileHelper.cxx, gdcmPixelReadConvertor.cxx
+ User is now allowed to pass a Pointer to a function of his own
+ to allow modification of pixel order (i.e. : Mirror, TopDown, )
+ to gdcm::FileHeleper, using SetUserFunction(userSuppliedFunction)
+ described as : void userSuppliedFunction(uint8_t *im, gdcm::File *f);
+ NB : the "uint8_t *" type of first param is just for prototyping.
+ User will Cast it according what he founds with f->GetPixelType()
+ See ctkgdcmSerieViewer for an example
+
+Sat Jul 30 20:13:24 2005 by jpr
+ gdcmSerieHelper.cxx
+ Add SerieHelper::IsCoherent() method to allow checking that the files with same
+ Serie UID have the same sizes and pixel type.
+
+Fri Jul 29 17:07:16 2005 by jpr
+ gdcmSerieHelper.cxx
+ User may now use
+ SetSortOrderToDirect() or SetSortOrderToReverse()
+ to choose the ways the File* will be sorted.
+
+Thu Jul 21 06:55:50 2005 by jpr
+ AnonymizeDicomDir.cxx, AnomymizeNoLoad.cxx, PrintFile.cxx, PrintDicomDir.cxx
+ Unify user interface
+
+Thu Jul 21 06:55:30 2005 by jpr
+ exSerieHelper.cxx
+ Add an example of use for SerieHelper
+
+Thu Jul 21 07:00:15 2005 by jpr
+ gdcmSerieHelper.cxx
+ Extend 'Restriction' syntax :
+ void SerieHelper::AddRestriction(uint16_t group, uint16_t elem,
+ std::string const &value, int op)
+ op belongs to :
+ /// \brief comparaison operators
+ enum CompOperators {
+ GDCM_EQUAL = 0,
+ GDCM_DIFFERENT,
+ GDCM_GREATER,
+ GDCM_GREATEROREQUAL,
+ GDCM_LESS,
+ GDCM_LESSOREQUAL
+ };
+
+Wed Jul 20 15:39:00 2005 by jpr
+ AnonymizeNoLoad.cxx
+ AnonymizeNoLoad user can now ask for anonymization of 'BinEntries'
+ (e.g. Private entries when the TS is Implict VR)
+ AnonymizeNoLoad filein=... rubout=0x0009-0x0001,0x0013-0x1100
+ Thx to Luca Picello for reporting pb and supplying data to fix the bug.
+
+Wed Jul 20 16:49:41 2005 by jpr
+ gdcmFile.cxx
+ Use GDCM_LEGACY for DicomDir, as well
+
+Wed Jul 20 15:31:01 2005 by jpr
+ gdcmFile.cxx
+ We can now anonymize 'BinEntries' as well
+
+Wed Jul 20 15:29:42 2005 by jpr
+ gdcmArgMgr.cxx
+ Add ArgMgrGetXInt16Enum to decode from the command line pairs of unsigned int
+ 16, written in hexadecimal.
+ (usefull to allow terminal user to pass the (private) elements he wants to
+ anonymize)
+
+Tue Jul 19 17:25:53 2005 by jpr
+ gdcmFile.cxx
+ Add some comments on the 'Patient Position'
+
+Tue Jul 19 11:04:58 2005 by jpr
+ gdcmSerieHelper.cxx
+ Add SerieHelper::AddGdcmFile(File *header) method.
+ * \brief add a gdcm::File to the first (and supposed to be unique) list
+ * of the gdcm::SerieHelper.
+ * \warning : this method should be used by aware users only!
+ * User is supposed to know the files he want to deal with
+ * and consider them they belong to the same Serie
+ * (even if their Serie UID is different)
+ * user will probabely OrderFileList() this list (actually, ordering
+ * user choosen gdm::File is the sole interest of this method)
+ * Moreover, using vtkGdcmReader::SetCoherentFileList() will avoid
+ * vtkGdcmReader parsing twice the same files.
+ * *no* coherence check is performed, but those specified
+ * by SerieHelper::AddRestriction()
+
+Mon Jul 18 12:20:20 2005 by jpr
+ gdcmCommon.cxx
+ In order to prepare the future extension of SerieHelper::AddRestriction (key,
+ string, operator)
+ operator = { EQUAL, DIFFERENT, LESS, LESSOREQUAL, GREATER, GREATEROOREQUAL}
+ add method
+ bool Util::CompareDicomString(const std::string &s1, const char *s2, int op)
+
+Sun Jul 17 06:27:49 2005 by jpr
+ gdcmSerieHelper.cxx
+ Use new style for Loading files
+
+Tue Jul 12 19:08:12 2005 by jpr
+ gdcmCommon.cxx, gdcmSQItem.cxx
+ To speed up DicomDir, instead of copying -and removing the source afterwards-
+ each entry of the SQItem (found after gdcm::Document parsing) towards
+ the gdcm::Object belonging to the gdcm::DicomDir, we just copy
+ the chained list itself.
+
+Tue Jul 12 16:55:43 2005 by jpr
+ AnonymizeNoLoad.cxx
+ AnonymizeNoLoad has now one more option :
+ dirin=
+ to give the (single Patient) directory name whose content we want to anonymize.
+
+Mon Jul 11 10:20:25 2005 by jpr
+ gdcmDicomDirStudy.cxx
+ Reorder methods
+
+Fri Jul 8 21:07:12 2005 by jpr
+ gdcmDicomDir...
+ Add the VISIT object within DicomDir
+
+Fri Jul 8 12:15:08 2005 by jpr
+ gdcmDicomDir...
+ Use new style for DicomDir loading
+
+Fri Jul 8 16:36:48 2005 by jpr
+ gdcmFileHelper.cxx
+ To remain unimpared, gdcm::FileHelper class needs also its
+ void FileHelper::SetLoadMode(int loadMode)
+ void FileHelper::SetFileName(std::string const &fileName)
+ bool FileHelper::Load()
+
+Thu Jul 7 19:31:53 2005 by jpr
+ Example/*.cxx
+ Begin of kosherization of Example
+ New 'gdcm2' style.
+
+Thu Jul 7 18:37:40 2005 by jpr
+ gdcmDocument.cxx
+ On the way to gdcm2 ...
+ Now, the stand way to use a file is :
+ gdcm::File *f = new gdcm::File();
+ f->SetLoadMode ( user say here what he wants *not* to load );
+ f->SetFileName("myFile.gdcm");
+ f->Load();
+ Old styles are kept, not to break the C++ API.
+ - gdcm::File *f = new gdcm::File("myFile.gdcm");
+ - f->Load("myFile.gdcm");
+ Due to the syntaxic abilities of Python maybe some troubles will occur
+ (not sure ...)
+
+Thu Jul 7 15:55:39 2005 by jpr
+ gdcmDocument.cxx
+ Comment out the time consuming, never used/useless
+ 'Extended tag' stuff for Sequence embedded Entries
+
+Thu Jul 7 15:11:38 2005 by jpr
+ gdcmDocument.cxx
+ Move code lines LTTG so save some CPU time.
+ (hope so)
+
+Tue Jun 7 13:12:10 2005 CEST by jpr
+ Example/*.cxx
+ Use Argument Manager in 'utilities'
+
+Thu Jul 7 12:12:32 2005 by jpr
+ gdcmFile.cxx
+ Due to something stupid in the gdcm::File constructor, the file was parsed
+ twice when we used old style, e.g :
+ gdcm::File *f = new gdcm::File(fileName);
+ instead of new style, e.g. :
+ gdcm::File *f = new gdcm::File( );
+ f->SetLoadMode ( choose what you want *not* to load here );
+ f->Load( filename );
+
+Wed Jul 6 11:53:43 2005 by jpr
+ TestAllReadCompareDicom.cxx, TestReadWriteReadCompare.cxx
+ Now TestAllReadCompareDicom.cxx TestReadWriteReadCompare.cxx accept a third
+ param, in order not to have to recompile to gdcm::Debug::DebugOn().
+
+Wed Jul 6 17:18:42 2005 by jpr
+ gdcmDocument.cxx
+ According to Mathieu's requirement, Load twice the same file keeps the rseult of
+ the first Load (instead of doing it twice)
+
+Wed Jul 6 11:25:12 2005 by jpr
+ gdcmDocument.cxx
+ - Clean out the Entries if a Document is parsed more than once
+ - Uncomment (usefull) warning messages
+
+Wed Jul 6 10:42:33 2005 by jpr
+ gdcmDocument.cxx
+ - Comment out a for the moment too much verbose warning message.
+ - Delay some statement as late as possible, to save some CPU time when they're
+ useless
+
+Wed Jul 6 13:01:08 2005 by jpr
+ gdcmFile.cxx
+ Now gdcmFile::Load() returns false if file is not gdcm parsable
+ Only gdcmDocument::Load() did it, before.
+ Thx to Benoit for reporting bug
+
+Sun Jul 3 14:42:04 2005 by jpr
+ gdcmDocument.cxx
+ Should avoid some troubles with 'no length' SQItems within 'true length'
+ Sequences.
+ Thx to Loic Boussel for providing data to fix the bug.
+
+Sun Jul 3 14:42:04 2005 by jpr
+ gdcmDocument.cxx
+ Should avoid some troubles with 'no length' SQItems within 'true length'
+ Sequences.
+ Thx to Loic Boussel for providing data to fix the bug.
+
+Sun Jul 3 14:47:23 2005 by jpr
+ gdcmSQItem.cxx
+ Enh warning message
+
+Fri Jul 1 13:25:51 2005 by jpr
+ gdcmPixelReadConvert.cxx
+ Initialize RLEInfo and JPEGInfo to 0 a avoid further problems
+ (e.g. PrintFile on a DICOMDIR document)
+
+Thu Jun 30 16:49:02 2005 by jpr
+ gdcmFile.cxx
+ Enhance gdcm::File::IsReable() heuristics to be able to process some Loic
+ Boussel's Hall of Shame Dicom images
+
+Wed Jun 29 17:58:33 2005 by jpr
+ gdcmDocument.cxx
+ Add the NO_SHADOWSEQ load mode
+
+2005-06-26 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Quite a few new dictionaries were added in gdcm. The file:
+ gdcm/Dict/README should always explain were the info was found
+ (in case of double check). Also some dict are still only
+ express as 'template' (they contain 'xx'), therefore
+ a python script should be run first to generate a full dict.
+ In the longer term this python script should be replaced by
+ a cmake script.
+
+2005-06-25 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * dicomV3.dic is deprecated in favor of gdcm.dic
+ There is now a dictionary per family:
+ - dicomV3.dic -> DICOM V3
+ - Papyrus.dic -> Papyrus
+ - NIH.dic -> tags that were never allowed in the main standard
+
+Fri Jun 24 12:50:20 2005 CEST by jpr
+ gdcmFile.cxx
+ Pixel Spacing related problems : update comments.
+ Thx to D. Clunie for providing data to check the code
+
+Fri Jun 24 12:55:58 2005 by jpr
+ Summer nights are really too hot to sleep.
+ Coding style : kosherization of all the 'if's (300 amongst 900 were haram)
+
+Thu Jun 23 11:20:23 2005 by jpr
+ gdcmDocument.cxx
+ Extend warning message, for debugging purpose
+
+Wed Jun 22 10:11:23 2005 by jpr
+ gdcmFile.cxx
+ Coding Style
+
+Wed Jun 22 10:00:29 2005 by jpr
+ gdcmPixelReadConvert.cxx
+ Fix misstyping, while removing spurious \t characters
+
+Wed Jun 22 09:52:32 2005 by jpr
+ gdcmPixelReadConvert.cxx
+ Some constructors (at least one ...) use BitsAllocated =! BitsStored for
+ negative Pixels.
+ That break at lot of viewers ...
+ We now *propagate the sign bit* upon the unused ones, better than masking them
+ out.
+ Thx to Luca Picello for profiding data to fix the bug
+
+Wed Jun 22 09:53:52 2005 by jpr
+ gdcmFileHelper.cxx
+ gdcm images are now "GDCM 1.1" built.
+
+Mon Jun 20 19:10:17 2005 by jpr
+ gdcmFileHelper.cxx
+ Avoid re writing Palette Color Lookup Table UID when Palette Color is removed
+
+Mon Jun 20 17:58:53 2005 by jpr
+ gdcmDocument.cxx
+ Preventive bug fix for LUT Data.
+ I said : LUT Date, *not* Palette Color
+
+Sun Jun 19 17:57:29 2005 by jpr
+ gdcmDocumentcxx
+ To avoid warnings at compile time
+
+Fri Jun 17 14:27:52 2005 by jpr
+ gdcmRLEFrames.cxx
+ Try to solve RLE pb
+
+Fri Jun 17 14:36:07 2005 by jpr
+ gdcmDocument.cxx
+ Add comments
+
+Fri Jun 17 14:35:00 2005 by jpr
+ gdcmFileHelper.cxx
+ Add some accessors for debugging purpose
+
+Tue Jun 14 15:56:41 2005 by jpr
+ gdcmPixelReadConvert.cxx
+ Now gdcm deals with 16 bits per pixel images with 16 bits Palette colors
+ (3 * 65536 short int ...)
+ Nice fat header.
+ "Segmented Palettes" pb still pending, but I never saw any viewer dealing with it.
+
+Mon Jun 13 17:43:48 2005 by jpr
+ gdcmPixelReadConvert.cxx
+ Some more oddities dealt with.
+ Doesn't work yet with 65536 entries 16 Bits LUT (?!?), with 16 bits pixels.
+ Still looking for accurate info on the web about it
+
+Fri Jun 10 16:05:38 2005 by jpr
+ gdcmDocument.cxx
+ Bug fix in Load method.
+ Thx to Benoit for providing fix.
+2005-06-08 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmUtil.cxx : change call to Util::Format to sprintf because of
+ lantency with the Util::Format function
+
+Tue Jun 7 15:48:35 2005 by jpr
+ gdcmUtil.cxx
+ The highy time consuming method GetMacAdress is now called just once
+
+Tue Jun 7 11:58:29 2005 by jpr
+ gdcmDicomDirElement.cxx
+ Use TranslateToKey better than Format
+
+Tue Jun 7 12:07:20 by jpr
+ gdcmDictEntry.cxx
+ Remove some spurious calls to Format
+ // according to 'Purify', TranslateToKey is one of the most
+ // time consuming methods.
+ // Let's try to shorten it !
+
+Mon Jun 6 14:37:58 2005
+ class ArgMgr (for Arguments Manager) is designed for
+ command line arguments management
+ (to make programmer's live easier)
+ (could be used for any kind of 'command line program')
+
+2005-06-07 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Adding users file in CVSROOT for mail blaming
+
+2005-06-04 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Adding potential support for JPEG-LS DICOM files.
+
+Fri Jun 3 18:05:23 2005 by jpr
+ gdcmDocument.cxx
+ Fix VR processing, to be CP-288 conform.
+ Now we can parse any kind of DICOM SR.
+
+Fri Jun 3 11:05:15 2005 by jpr
+ gdcmDocument.h
+ Doxygenation
+
+Thu Jun 2 15:42:18 2005 by jpr
+ gdcmDocument.cxx
+ Add warning about Load Mode
+
+Thu Jun 2 16:20:14 2005 by jpr
+ gdcmFile.cxx
+ Harden gdcm::File::IsReadable(), in order not to be confused any longer
+ by lost of Pixel Element
+
+Fri May 27 12:51:00 2005 by jpr
+ gdcmFileHelper.cxx
+ To avoid pushing out twice the meta elements, wile trying to write 'ACR-NEMA-
+ style.
+ And avoid some memry leaks -hope so-
+
+Wed May 25 14:54:17 2005 by jpr
+ gdcmDocument.cxx
+ Should avoid some memory leaks
+
+2005-05-22 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Adding potential support for mpeg and jpeg2000 through two new lin
+ - JasPer for JPEG2000
+ - libmpeg2 from the MPEG consortium
+ Also adding intial work to use this lib.
+
+Fri May 20 10:27:55 2005 by jpr
+ gdcmFileHelper.cxx
+ To avoid warning.
+ (this time, it's wasn't dangerous at run time)
+
+Thu May 19 17:31:21 2005 by jpr
+ gdcmFileHelper.cxx
+ FIX possible troubles when checking
+ 'Hight Bit Position' vs 'Bits Allocated' and 'Bits Stored'
+ Thx to Mathieu for reporting bug
+
+Wed May 18 12:12:07 2005 by jpr
+ gdcmDocument.cxx
+ Fix : now dcm deals with 'No preamble', Big Endian Explicit VR group 0002.
+ Thx to Dennis Hu for providing a sample image to fix the bug.
+
+Tue May 17 14:44:09 2005 by jpr
+ gdcmFile.cxx
+ ENH : According to David Clunie's advice, we check now 'Imager Pixel Spacing'
+ before 'Pixel Spacing', when we want to get X or Y Spacing.
+
+Tue May 17 19:10:49 2005 by jpr
+ gdcmFileHelper.cxx
+ ENH : Now, FileHelper::CheckMandatoryElements() makes some consistency checking,
+ at LTTG (Least Time To Go)
+ around Bits Allocated, Bits Stored, High Bit Position,
+ to avoid unaware user to mess up the stuff.
+
+Tue May 3 11:43:04 2005 by jpr
+ gdcmDicomDir.h, .cxx
+ Load returns now a bool (allow user not to call IsReadable() )
+
+Tue May 3 11:51:06 2005by jpr
+ gdcmFileHelper.cxx
+ Now the gdcm::File remains unimpaired after writting, in any case
+
+Fri Apr 29 17:10:55 2005by jpr
+ gdcmDocument.cxx
+ Don't abort the prog when File not open
+
+Wed Apr 27 12:00:35 2005 by jpr
+ gdcmFile.cxx
+ Removal of now useless lut-related stuff
+
+Wed Apr 27 11:52:27 2005 by jpr
+ gdcmFile.cxx
+ Pb of 'Bits Allocated = 12' is now dealt with in
+ FileHelper::CheckMandatoryElements, no longer in File::Write.
+ Thx to Mathieu for reporting bug.
+
+2005-04-26 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Testing/TestAllReadCompareDicom.cxx : update the test printed results and
+ description.
+
+Tue Apr 26 18:18:23 2005 by jpr
+ gdcmDocument.cxx
+ Should leave gdcm::Document constructor in a much quicker
+ and much cleaner way when anything wrong occurs.
+
+Tue Apr 26 18:25:49 2005 by jpr
+ gdcmPixelReadConvert.cxx
+ Prepare MPEG Dicom encapsulated processing (within a loooong future)
+
+Fri Apr 22 14:59:58 2005 by jpr
+ gdcmDocument.cxx
+ Modify Print() output
+
+Fri Apr 22 15:37:57 2005 by jpr
+ gdcmTS.cxx
+ Prepare (future) MPEG integration
+
+Thu Apr 21 09:40:00 2005 by jpr
+ gdcmTS.cxx
+ Taking into account Dicom MPEG
+
+2005-04-20 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * FIX : Numerical exception on borland (cannot divide by 0, doh !)
+ But this is a case where we should really signify the user there is
+ few chance the serie is really a serie...
+
+2005-04-20 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * FIX : on X, the python part is correctly installed. All files are
+ installed in gdcm sub-directory
+
+Tue Apr 19 11:58:19 2005 by jpr
+ gdcmDocEntry
+ Should suppress some warnings from Borland compiler
+
+2005-04-19 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Builder/ : add something to facilitate the RPM creation of gdcm
+
+2005-04-15 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Fix gdcmDirList::IsDirectory. Apparently borland did not like the ending
+ '/'
+ * Also fix compilation on gcc 3.3.5 does not have ios::failure either ...
+
+Thu Apr 14 16:26:19 2005 by jpr
+ gdcmDicomDir.h, .cxx
+ Now, user can ask gdcm::DicomDir to skip SeqEntries or shadow groups, when
+ possible :
+ // Old style (still available) :
+ dcmdir = new gdcm::DicomDir(dirName, true);
+
+ // new style (user is allowed no to load Sequences an/or Shadow Groups)
+ dcmdir = new gdcm::DicomDir( );
+ dcmdir->SetParseDir(true);
+ dcmdir->SetLoadMode(NO_SEQ | NO_SHADOW);
+ dcmdir->Load(dirName);
+
+2005-04-11 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmWriter fix bug when writing spacing. The Y spacing comes first
+ then the X spacing.
+ * Fix compilation on gcc 2.96 (which does not have ios::failure)
+
+Mon Apr 4 17:15:24 2005 by jpr
+ gdcmFileHelper.cxx
+ Fix stupid bug when writting ACR-NEMA image from 'ACR-LibIDO' one.
+
+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
+
+Tue Mar 22 12:29:37 2005 by jpr
+ gdcmDocument.cxx
+ * FIX : element 0x0000 of shadow groups is now force to a ValEntry,
+ and it's VR is forced to UL
+ * ENH : user id now allowed to tell he doesn't want to deal with Sequences
+ and/or with Shadow groups
+ use SetLoadMode (NO_SEQ | NO-SHADOW);
+
+Tue Mar 22 12:40:13 2005 by jpr
+ gdcmFileHelper.cxx
+ *FIX Restore pushed out elements
+
+Fri Mar 11 12:08:31 2005 by jpr
+ gdcmDocEntry.cxx
+ Remove spurious #define MAX_SIZE_PRINT_ELEMENT_VALUE
+
+Fri Mar 11 12:12:13 2005 by jpr
+ gdcmFile.cxx
+ Final removal of gdcmFileHelper::InitializeDefaultFile();
+
+Wed Mar 9 20:29:38 2005 by jpr
+ gdcmDicomDir.h, .cxx
+ Add Anonymize method (not yet fully checked)
+
+2005-03-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFileHelper.cxx : remove memory leaks and bugs when writing files
+
+Wed Mar 2 18:18:32 2005by jpr
+ gdcmFile.cxx
+ Fix gdcm::FileHelper::CheckMandatoryElements() to take into account David
+ Clunie's remarks.
+
+2005-02-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFileHelper.cxx : JPR bad personal choices fix
+
+Mon Feb 21 18:45:41 2005 by jpr
+ gdcmFileHelper.cxx
+ * Replace method CheckMetaElements by CheckManadatoryElements
+ To deal with the pb of UID's, and with Type 1 an Type 2 Entries
+ (probabely some stuff still missing)
+ * We shall have to decide the way we proceed to allow user 'freeze' Serie UID
+ between a given call and the next one (to add images to a Serie he just
+ created)
+ * We shall have to decide the way we proceed to allow user 'freeze' Study UID
+ between a given call and the next one, or to reuse an already existing
+ Study UID (i he wants to add his own Series to an already existing Study)
+
+Thu Feb 17 17:18:33 2005 by jpr
+ gdcmFile.cxx
+ To avoid further pb, Initialize defaults now Photochromatic Interpretation to
+ MONOCHROME2 (low values = dark), better than MONOCHRONE1.
+ Thx to Benoit for reporting bug
+
+Thu Feb 17 11:56:20 2005 by jpr
+ gdcmUtil.cxx
+ Prepare FileMetaInformationVersion (group 0002) management
+
+Thu Feb 17 12:02:47 2005 by jpr
+ gdcmFile.cxx
+ Group 0002 management
+
+Thu Feb 17 12:03:32 2005 by jpr
+ gdcmDocEntryArchive.cxx
+ Fix comments
+
+Wed Feb 16 11:19:19 2005 CET by jpr
+ gdcmPixelReadConvert.cxx
+ Taking into account MONOCHROME1 + Signed Pixels (?!)
+
+Tue Feb 15 19:12:34 2005 by jpr
+ gdcmFile.cxx
+ Taking into account the difference between MONOCHROME1 (low values = bright)
+ and MONOCHROME2 (low values = dark)
+
+Mon Feb 14 11:45:04 2005by jpr
+ gdcmDocument.cxx
+ Remove some useless mask operations, to save CPU time
+
+Mon Feb 14 15:51:10 2005 by jpr
+ gdcmUtil.cxx
+ *never* forget to re-compile just *before* committing!
+
+Mon Feb 14 15:34:27 2005 by jpr
+ gdcmUtil.cxx
+ First commit on the post 1.0 (Version? / Tag? / Branch?) :
+ Fix Doxygen warnings
+
+Mon Feb 14 11:45:47 2005 by jpr
+ gdcmValEntry.cxx
+ remove useless comments
+
+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 memory leaks
+
+Fri Feb 11 16:22:18 2005 by jpr
+ gdcmDocEntrySet.cxx
+ Typo, comments, doxygenation
+
+Thu Feb 10 11:55:26 2005 by jpr
+ gdcmFile.cxx
+ AnonymizeNoLoad improvement
+
+Thu Feb 10 10:07:19 2005 by jpr
+ gdcmFile.cxx
+ Duplicate Matthieu's hack to prevent bombing in Anonymize
+
+Thu Feb 10 12:20:34 2005by jpr
+ gdcmDocEntrySrt.cxx
+ The following gdcm::DocEntrySet methods, no re-definable is child classes are no
+ longer virtual
+ virtual ValEntry *GetValEntry(uint16_t group, uint16_t elem);
+ virtual BinEntry *GetBinEntry(uint16_t group, uint16_t elem);
+ virtual SeqEntry *GetSeqEntry(uint16_t group, uint16_t elem);
+ virtual bool SetValEntry(std::string const &content,
+ virtual bool SetBinEntry(uint8_t *content, int lgth,
+ virtual bool SetValEntry(std::string const &content, ValEntry *entry);
+ virtual bool SetBinEntry(uint8_t *content, int lgth, BinEntry *entry);
+ virtual ValEntry *InsertValEntry(std::string const &value,
+ virtual BinEntry *InsertBinEntry(uint8_t *binArea, int lgth,
+ virtual SeqEntry *InsertSeqEntry(uint16_t group, uint16_t elem);
+
+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
+
+Mon Feb 7 15:48:34 2005 by jpr
+ gdcmDicomDir.h, .cxx
+ Add some commented out lines to prepare future version of 'Full DICOMDIR' stuff
+
+
+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
+
+Sun Feb 6 15:31:09 2005 by jpr
+ gdcmDicomDirStudy.h
+ Update comments for DicomDir stuff
+
+Sun Feb 6 15:39:35 2005 by jpr
+ gdcmDocument.cxx
+ * Add method File::AnonymizeNoLoad, to allow anomymizing files
+ even when the pixels are not gdcm Readable
+ * Add methods File::AddAnonymizeElement and File::ClearAnonymizeList
+ to allow user to choose the elements whose value
+ he wants to white out / replace
+
+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
+
+Fri Feb 4 15:49:01 2005 by jpr
+ gdcmDocEntry.cxx
+ * Add GetFirstValEntry + GetNextValEntry, for Python users
+ * Some more Doxygenation + typo fixing
+
+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
+
+Thu Feb 3 18:12:46 2005 by jpr
+ gdcmPixelReadConvert.cxx
+ Fix Doxygen warning
+
+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
+
+2005-01-13 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDictSet.h : set the default output to the os variable
+ * src/gdcmDictEntry.[h|cxx] : add the Print method
+ * gdcmPython/demo/ : add a new test
+
+2005-01-13 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * merging of Test/PrintDicomDir and Test/TestDicomDir
+ * removal of now redundant Test/PrintDicomDir
+ * enhancement of Example/PrintDicomDir
+
+2005-01-13 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Now, python test might work on systems
+ * Add the PrintDicomDir test
+
+2005-01-13 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * FIX : First entry following group 0002 was lost for
+ Explicit Big Endian Transfer Syntax files
+ (group and elem not swaped)
+
+2005-01-12 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * FIX : Old quick and dirty 'optimistic' heuristic to deal with
+ Big Endian Transfer Syntax supposed the group following 0002
+ begins always by element 0000 (element 0000 is *optional*)
+ To avoid further troubles, let's be pessimistic, and use
+ Document::HandleOutOfGroup0002() method
+ * FIX : comparison between GDCM_NOTLOADED and Transfer Syntax
+ (related pb not yet solved)
+
+2005-01-12 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Bug fix for the python part use
+ * Now, PrintHeader.py pass... but outside the ctest use. shit !
+
+2005-01-12 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * gdcmPython/gdcm.i : bug fix when compiling with MSCV
+
+2005-01-11 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Untangle TransferSynatx from gdcm::Document. Now Document only manipulate
+ a string and should ask the global TS dict what are the propreties of
+ the transfer syntax
+
+2005-01-11 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * Replace confusing name SwitchSwapToBigEndian name by SwitchByteSwapCode
+ * Add the Document::HandleOutOfGroup0002(uint16_t group) method
+ to swap the Swap Code, at parsing time, when we come out of group 0002
+ and Transfer Syntax is Big Endian
+ We should be able to read now 'true DICOM" Big Endian coded images
+ * Add optional run time SetDebugOn (last param) for PrintHeader, PrintFile
+ * Replace the french 'Transfert Syntax' by the english 'Transfer Syntax'
+
+2005-01-10 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Hopefully fix the bug on MacOSX and static global initialization.
+ This is the only -minor- patch I found that both please MacOSX and VS6.
+ Other patch would be to declare a const std::string & GDCM_UNFOUND() instead,
+ but this would require a lot of change. Another approach would be that Global
+ create those string and GDCM_UNFOUND becomes a pointer to a string (which
+ gdcm::Global would destroy at exit).
+
+2005-01-08 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Fix bug on MacOSX with static initialization in a multy threaded
+ environment. static const string in a header file used to be ill
+ initialized provoquing the freeze of any tests. patch should solve this
+ issue.
+
+2005-01-08 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * According to Benoit's suggestion, and without any objection from anybody
+ - methods SetxxxByNumber and GetxxxByNumber renamed as Setxxx and Getxxx
+ - methods Dict::Print() and Dict::PrintByKey() merged into Dict::Print()
+ - method gdcmDicomDirObject::GetEntry() renamed as
+ gdcmDicomDirObject::GetEntryHT() to avoid confusion (and compile error)
+
+2005-01-07 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Now gdcm::Debug is clearly a copy/paste of VTK approach. You can manipulate
+ you debug/warning message just as c++ streams which make them very convinient
+ to use. Once this is stabilize I will change the ostringstrem to be
+ redirected to a file (ofstream).
+ * Properly support C99 extension: __FUNCTION__ which allow us to display
+ the name of the function call (GNUC also allow __PRETTY_FUNCTION__ for c++)
+
+2005-01-07 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * Removal of useless and dangerous methods :
+ GetEntryByName, GetEntryVRByName, GetDocEntryByName, SetEntryByName
+ GetDocEntryByName, GetEntryByName, GetDictEntryByName
+ * Removal of usless methods :
+ Dict::PrintByName, Dict::GetDictEntryByName
+ * Commenting out of probabely useless methods :
+ Dict::GetDictEntryNames()
+ Dict::GetDictEntryNamesByCategory()
+ DictSet::GetPubDictEntryNames()
+ DictSet::GetPubDictEntryNamesByCategory()
+ * ENH : New Dicom Dictionary (with Value Multiplicity) is now used
+ * ENH : Use dicomTS.dic as described in 2004 version
+ * ENH : Removal out of the Dicom Dictionary of non dicom 'fourth' field
+ Add to the Dicom Dictionary of Dicom 'Value Multiplicity' field
+ Add Accessors on VM (Value Multiplicity), and VM related methods
+ * ADD : Add a list of 'Dicom Attribute types', as found in
+ http://medical.nema.org/dicom/2004/04_15PU.PDF
+ Unused till now...
+ * ADD : Add dicomGroupNameAbbreviations.dic
+ should be used to write a method to replace the former
+ Dict::GetDictEntryNamesByCategory()
+
+2005-01-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocEntry.[h|cxx] : now the ReadLength is the length of the data
+ to read in the file... and only it ! Length is the efective length of the
+ data in the DocEntry structure
+
+2005-01-07 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Change the gdcmDebug approach. Remov the global static debug 'dbg'.
+ And now use a static function call instead, with a global variable. i
+ This is much closer to the VTK approach. Hopefully should be bulletproof
+ and easier to use...hopefully
+
+2005-01-06 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Adding GetMACAddres very alpha for now. This is tricky to be cross plateform.
+
+2005-01-06 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocument.[h|cxx] : remove all copy of DocEntry when parsing a file
+
+2005-01-06 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocEntrySet.[h|cxx], gdcmDocument.[h|cxx] : amelioration of
+ ValEntry, BinEntry, SeqEntry creation or replace
+
+2005-01-06 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDictEntry.h : now, the IsVRUnknown is correct
+ * src/gdcmDocument.[h|cxx] : simplify the search of VR value when parsing
+ a file
+ * src/gdcmDocEntrySet.cxx : now the created DocEntry without values is good
+ when specifying the VR
+ * src/gdcmVR.[h|cxx] : add usefull method to test the validity of a VR
+ * src/gdcmDocEntry.cxx : amelioration of print
+
+2005-01-05 Jean-Pierre Roux <jpr@creatis.univ-lyon1.fr>
+ * ADD : Add the method Util::IsCurrentProcessorBigEndian
+ (we'll need it for 'Explicit VR Big Endian' Transfert Syntax)
+ * ADD Method Document::ComputeGroupLength
+ * ENH : now parsing creates a Vitual DictEntry for Pixels Element,
+ in order to allow further VR modification by user
+ * REM : removal of once-called method File::WriteBase
+ integration of its code in formerly one-line method File::Write
+
+2005-01-05 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmCommon.h : add the GDCM_UNKNOWN constant. This constant is to
+ replace the different values "??", "Unkn", "Unknown".
+ * src/gdcmDicomDirElement.h, gdcmDictEntry.h, gdcmDictSet.h,
+ gdcmDocEntry.cxx, gdcmDocEntrySet.[h|cxx], gdcmDocument.h, gdcmSQItem.cxx,
+ gdcmVR.cxx : use the GDCM_UNKNOWN constant.
+ * Appears a bug in gdcmDictEntry : IsVRUnknown always returns false... bad
+
+2004-12-16 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmBase.[h|cxx] : new base class. Contains the PrintLevel and an
+ empty Print Method
+ * Set the gdcm::Base class to some Printable classes
+
+2004-12-16 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFile.[h|cxx] : add the Print method
+ * src/gdcmPixelReadConvert.[h|cxx] : add the generalized Print method
+ * src/gdcmDocEntrySet.h : generalize the Print with the PrintLevel
+ * src/gdcmDocument.h : remove the PrintLevel informations
+ * Example/PrintFile.cxx : use the new gdcm::File::Print
+
+2004-12-16 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFile.cxx : Add the code of ReplaceOrCreateByNumber to not have
+ problems when compiling with the python wrapping
+
+2004-12-16 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFile.cxx : bug fix. Omitted a Push in the DocEntryArchive when
+ writting in ImplicitVR
+
+2004-12-12 Jean-Michel Rouet <jm.rouet@noos.fr>
+ * src/gdcmPixelReadConvert.[h|cxx], src/gdcmJpeg*.cxx : new handling of
+ JPEG decompression, especially when dicom frames are split into several
+ JPEG Fragments. This makes use of jpeg decompression from memory buffer.
+ This solves reading for example gdcm-JPEG-Lossless_Thoravision.dcm.
+
+2004-12-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmHeader.cxx : change the initialisation of default header.
+ Now, this header is readable by gdm, e-film, DicomWorks
+
+2004-12-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFile.[h|cxx], gdcmPixelReadConvert.[h|cxx] : change the API.
+ Rename Decompressed to Raw
+ * Use the API changes in gdcm::File.
+ * vtk/vtkGdcmWriter.[h|cxx] : add the possibility to write in other modes
+ Memory leaks fixed
+
+2004-12-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmWriter.cxx, Example/WriteDicomSimple.cxx : add comments for
+ each added entry in the header. Replace the 'Planes' field by the 'Number
+ of Frames' field
+
+2004-12-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmWriter.[h|cxx] : now can write stack of images.
+ * vtk/vtkWriteDicom.cxx : can write 2D stack or 3D image
+
+2004-12-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Example/WriteDicomSimple.cxx : example to write a dicom file from nothing.
+ At this time, this image isn't readable by e-film... waiting JPR help to
+ solve it.
+
+2004-12-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmPixelReadConvert.cxx : bug fix when would forcing load of a
+ DocEntry. Now use methods of the Document !
+
+2004-12-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/ShowDicomSeq.cxx : bug fix
+
+2004-12-08 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmReader.[h|cxx] : bug fix. Plane order isn't inverted
+ * vtk/vtkGdcmWriter.[h|cxx] : correctly write images (the Y axis is inverted)
+ * Test/ShowDicomSeq.cxx : new test to verify the use of AddFileName method
+ * Test/ShowDicom.cxx, TestWriteWithVTK.cxx : set the threshold of regression
+ test to 0.0
+ * Test/TestCopyRescaleDicom.cxx : remove unused variable
+ * Test/CMakeLists.txt : add the creation of the gdcmDataSeqImages.h file
+ containing found sequences
+
+2004-12-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/ShowDicom.cxx, TestWriteWithVTK.cxx : bug fix, now this test pass
+ not at all time
+ * Test/TestCopyRescaleDicom.cxx : rearrange the test to correctly pass...
+ Some fields in BinEntry must be copied to not seg fault when making the :
+ gdcm::File *copy = new gdcm::File( copyH );
+ and tests are now made on good variables
+
+2004-12-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmWriter.[h|cxx] : add a first version of vtkGdcmWriter
+ * src/gdcmValEntry.cxx : bug fix when setting the value. Problems of odd
+ length
+ * src/gdcmHeader.cxx : Remove a useless call to Util::DicomString
+ * Add vtkGdcmWriter example and test
+
+2004-12-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/TestUtil.cxx : reformat the source code
+ * vtk/vtkGdcmReader.cxx : remove and change prints
+ * src/gdcmValEntry.[cxx|h] : now set the length of the value when calling
+ SetValue
+ * src/gdcmBinEntry.[cxx|h] : SetValue method don't set the length
+ * src/*.cxx : remove all useless call to SetLength of a ValEntry object
+
+2004-12-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmPixelWriteConvert.[h|cxx] : ficnished this class
+ * src/gdcmFile.cxx : finished the correctly use of PixelWriteConvert
+
+2004-12-06 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocument.cxx : bug fix when opening the file. All read is followed
+ by an eof to prevent all bad read of the file... and in this case, the
+ file isn't readable.
+
+2004-12-06 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Example/Volume2Dicom.cxx : comment unused variables
+ * Test/PrintDicomDir.cxx : comment unused variables
+ * Test/BuildUpDicomDir.cxx : remove dbg.Verbose. Remove the FIXME.
+ * src/SQItem.[h|cxx] : remove the PtagHT variable. Remove the AddDocEntry
+ method that is redondant with AddEntry.
+ * src/gdcmDocEntrySet.h : add pure virtual methods common to ElementSet and
+ SQItem
+
+2004-12-04 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Bug fix due my last commit (compilation under Windows).
+ * Example/Volume2Dicom : bug fix in the file and reformatting source code
+ * src/gdcmFile.h : bug fix. Variable type and variable name had same name
+
+2004-12-03 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Huge cleanup:
+ - Remove printf / sprintf
+ - include iostream AFTER gdcm so we don't get warnings
+ - GDCM_NO_ANSI_STRING_STREAM shouldn't be used explitely ouside of gdcm
+ source
+ - Also remove tons of include from header files, hopefully this should
+ speeup the compilation time, since it was becoming a dog slow.
+ - Remove gdcm.h as it include way too many files and slow down compilation
+ (plus it is not up to date)
+ - remove 'using namespace std' this is BAD !
+
+2004-12-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Remove memory leaks on the DicomDir
+ * Remove some useless data in DicomDirObject
+ * Add usefull methods in SQItem, to be complient withe the ElementSet
+
+2004-12-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFile.[h|cxx] : now use FileType instead of TWriteType.
+
+2004-12-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmPixelWriteConvert.[h|cxx] : new class to write data (and in the
+ future, with convertion)
+ * src/gdcmFile.[h|cxx] : the PixelWriteConverter instance replace Pixel_Data
+ and ImageDataSize values. Remove the method to get the PixelReadConverter
+ from the output of the class
+
+2004-12-03 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Rename src/gdcmPixelConvert.[h|cxx] to src/gdcmPixelReadConvert.[h|cxx]
+
+2004-12-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmReader.cxx : correct error in vtkDebugMacro, vtkWarningMacro
+ and vtkErrorMacro use.
+ * gdcmPython/gdcm.i : corrections to avoid warnings at compilation
+
+2004-12-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/TestCopyDicom.cxx : the new dicom created is created empty, without
+ file name in input
+ * src/gdcmSeqEntry.cxx : bug fix in destruction of an element
+ * src/gdcmHeader.cxx : bug fix. Keep the string, otherwise it is destroyed.
+ The string leaves only in the fonction. So when we make a .c_str(), we
+ get the pointeur on the first element, element that will be destroyed
+ immediately after thee instruction.
+ * src/gdcmDocument.cxx : remove memory leaks. Bug fix when testing if the
+ file has been opened : the test must be made on the content of the
+ pointer and not directly on the pointer !
+ Code formatting
+
+2004-12-02 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * gdcmPython/gdcm.i : change gdcmHeaderHelper to gdcmSerieHeader. Now,
+ the python part recompiles
+
+2004-11-30 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/ShowDicom.cxx : Change the test to only open one vtkImageViewer.
+ Otherwise, under linux (Graphic card : NVidia / SE : FedoraCore 1) the
+ X session is killed (for my computer... it seems to not be identic on
+ all linux)
+
+2004-11-30 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/ShowDicom.cxx : now can be used with an off-screen rendering to
+ avoid problems (otherwise, the difference test between the visible image
+ and the reference is incorrect. If the reference is greater than the
+ screen resolution, it's produce errors).
+ Can be used for only one image. Can be used with a visible flag.
+ * vtk/vtkGdcmReader.cxx : remove commented codes.
+ * vtk/vtkGdcmReader.h : add the gdcmCommon.h include file to avoid warnings
+ under windows at compilation
+ * vtk/vtkgdcmViewer.cxx : reformat the file. Apply a default window/level
+ for grayscale images
+ * vtk/GdcmToBaseline.cxx : new program to easy create the reference image
+
+2004-11-30 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFile.[h|cxx] : bug fix for ACR-LIBIDO files when writting the file
+ * Test/TestAllReadCompareDicom.cxx, TestReadWriteReadCompare.cxx : add
+ tests on the image size X, Y, Z
+
+2004-11-26 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Remove some useless methods in gdcm::Document, gdcm::Header and gdcm::File
+ * Rename gdcmHeaderHelper.[h|cxx] to gdcmSerieHeader.[h|cxx] to be coherent
+ between the class name and the file name
+
+2004-11-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/ : fix compilation warnings for the Write method (2 different
+ proto). So Rename 'Write(ifstream* fp' into 'WriteContent(ifstream* fp'
+ fix compilation warnings for the gdcm::Document::TransferSyntaxStrings
+ variable... create a static method in gdcm::Document to access to
+ this variable content.
+
+2004-11-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocument.[h|cxx] : set the Transfert Syntax values to the header
+ file, to be accessed by other files (like gdcmFile). Remove commented
+ code. Move the change of the header to the gdcmFile, using the
+ DocEntryArchive
+ * src/gdcmHeader.[h|cxx] : the write is completely made in the Header.
+ To be sure of that (and simplify calls), the Write of the header now
+ gets a file name and not a file pointer (std::ifstream).
+ * src/gdcmFile.[h|cxx] : apply the write file type to the header, using the
+ DocEntryArchive. Remove all open of the written file
+
+2004-11-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * vtk/vtkGdcmReader.cxx : compilation bug fix for the vtk part
+
+2004-11-25 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocument.cxx : fix bug... test if the fp is opened to use it
+ * src/gdcmPixelConvert.cxx : calculate the image size when while the grab of
+ the header.
+ * src/gdcmFile.[h|cxx] : remove PixelRead and ImageDataSizeRaw variables and
+ some corresponding methods. Write correctly the file and check before
+ write
+ * Test/TestCopyDicom.cxx, TestReadWriteReadCompare.cxx,
+ TestAllReadCompareDicom.cxx : pass the write of images to RGB and test
+ is now on RGB data (as before my last commit
+ * Example/PrintHeader.cxx, PrintFile.cxx : repad files.
+
+2004-11-24 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmBinEntry.cxx, gdcmSeqEntry.cxx, gdcmSQItem.cxx, gdcmValEntry.cxx :
+ Add a print information of the type of the entry
+ * src/gdcmDocument.cxx : add the write of the preambule of a Dicom file.
+ It was in the gdcmFile, and all write have been regrouped
+ * src/gdcmFile.[h|cxx] : add methods to get the Raw data elements and size.
+ Write correctly all dicom files (in decompressed mode only at this time)
+ * Test/ : test on files are now made using Raw data and not color data if
+ any.
+ * Example/PrintFile.cxx : add more printings
+
+2004-11-24 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Amelioration of code, remove some code copy. For the loading of
+ BinEntry (in gdcmDocument), add the test to verify if the file is already
+ opened or not.
+
+2004-11-24 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocEntryArchive.[h|cxx] : bug fix and add a method to temporary
+ remove a DocEntry in the header (push an empty DocEntry)
+ * src/gdcmFile.[h|cxx] : remove some useless variables, methods and code
+ lines. Bug fix in the initialization of the PixelConvert and the
+ DocEntryArchive
+ * src/gdcmElementSet.[h|cxx] : add methods Initialize and GetNext to
+ use in TestCopyDicom (now this test can run under windows... but fails)
+ * Test/TestCopyDicom.cxx : amelioration of the test :
+ - test the pixels written
+ - add test points to quickly find where is the error
+ - can set a file name input and output in arguments
+ * Test/TestAllReadCompareDicom.cxx, TestReadWriteReadCompare.cxx :
+ amelioration of the test output
+
+2004-11-23 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocEntryArchive.cxx : complete the print function, that prints
+ all replaced DocEntry's
+ * src/gdcmFile.[h|cxx] : remove all changes of the header when getting data.
+ Now, each needed DocEntry to modify is duplicated, modified and inserted
+ to the header using DocEntryArchive. Thus, after save, we can restore the
+ header initial state.
+
+2004-11-22 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFile.h : fix compilation errors on zorglub linuc computer
+