+2005-01-07 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocEntry.[h|cxx] : now the ReadLength is the length of the datas
+ to read in the file... and only it ! Length is the efective length of the
+ datas 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 datas 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 datas (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 datas (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 datas and not color datas 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 datas.
+ 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
+
+2004-11-19 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocEntry.cxx : remove the copy of the DictEntry... there isn't
+ correct to copy it. The DictEntry is specified at the DocEntry creation,
+ then, it musn't change in the time.
+ * src/gdcmDocEntryArchive.[h|cxx] : new class. It's goal is to change the
+ header correctly. At this time, the change is only made for the first
+ level of the Document. In the future, it might consider sequences.
+ The change is made by replacing a DocEntry by an other that is created
+ outside the class. The old value is kept. When we restore the header
+ status, the added DocEntry is deleted and replaced by the old value.
+ * src/gdcmElementSet.h : Set the DocEntryArchive like friend.
+ * src/gdcmFile.[h|cxx] : Use the gdcmDocEntryArchive. Add methods to
+ set the write type to explicit VR, implicit VR or ACR. Add methods to set
+ the write mode to native, decompressed or RGB (but not used at this time)
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmSeqEntry.cxx : add initialisation of variable SeqTerm
+ * src/gdcmDocument.cxx : add delete of DocEntry's to remove some memory leaks
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocument.cxx : now, when using the ReplaceOrCreateByNumber to
+ set a BinEntry, the binArea is copied (like to set a ValEntry, the string
+ is copied).
+ * Test/TestCopyDicom.cxx, Example/TestCopyDicom.cxx : the image data isn't
+ set because already copied when copying the BinEntry's of the header
+ * Test/TestAllReadCompareDicom.cxx : remove warnings
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * FIX : now, the DocEntries are all deleted in the gdcmElementSet.
+ Two problems appear when doing it :
+ - with the gdcmFile : when the GetImageData method is called, the pixels
+ are stored in the gdcmPixelConvert, but a gdcmBinEntry link to these
+ datas (pixels). And each structure destruct the datas when it's
+ destructed. So we have two destructions for the same datas. To solve it,
+ a flag is added in the gdcmBinEntry to indicate if the BinEntry owns the
+ datas or not. If it doesn't own datas, then they will not destroyed by
+ the gdcmBinEntry.
+ - with the gdcmDicomDir : the sequences (gdcmSQItem) contain DocEntry
+ elements. The DicomDir* (DicomDirPatient, etc.) inherit from SQItem.
+ Thus destruct the DicomDir* elements and the TagHT of the ElementSet
+ create a double destruction of the same DocEntry's. So, to solve it,
+ the TagHT is simply cleared and the DicomDir* elements are destroyed.
+ * TODO : add an entry concerning memory leaks in the DicomDir
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * FIX : src/gdcmDocument.cxx Remove obvious code in the destructor
+ * FIX : src/gdcmPixelConvert : Set to NULL the deleted structures in the
+ squeeze method
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * FIX: src/gdcmUtil.cxx : to compile with MSVC6
+ * src/gdcmDocument.cxx : fix memory leaks. Fix possible bugs : use an object
+ after it have been deleted
+
+2004-11-16 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
+ * FIX: src/* fix the doxygen warnings.
+ * src/gdcmVR.cxx: removed some redundant tests (e.g. LO)
+ * src/gdcmDocument.cxx: FIX ::ComputeRLEInfo() rleSegmentOffsetTable[]
+ was erroneously defined with a size of 15 instead of 16. [many thanks
+ to Jean Michel Rouet for pointing out this bug].
+
+2004-11-15 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ 1. Finish merging JMR patch for writting DICOM from scratch
+ 2. Fix -hopefully- bug with MONOCHROME and space vs null character
+ 3. Use const ref when possible
+ 4. Add a new function InitializeDefaultHeader, which create a template DICOM header (CT image for now)
+ 5. A few more comments
+ 6. CreateUniqueUID can now be called without parameter"
+
+2004-11-15 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * ENH: Slightly bigger patch:
+ 1. Getting toward full integration of JMR patch for writting dicom from scratch
+ 2. Update Test to test part of this patch: CreateUniqueUID
+ 3. File was not close properly in gdcmDict
+ 4. Use of typedef is to be prefered when possible (gdcmDict.cxx)
+ 5. Use of const ref instead of copy (speed issue)
+ 6. Remove temporary (duplicate) string in TranslateToKey
+ 7. Mark extremely dangerous code as such (gdcmDocument.cxx and AddEntry fallback case)
+ 8. Do not repeat virtual in subclasses
+ 9. Implemented in gdcm::Util two new function: GetIPAddress, and CreateUniqueUID
+
+2004-11-15 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * Apply first patch toward better string comparison when dealing with broken
+ DICOM files. Essentially the string could be padded with a space instead
+ of a null character as defined by standard
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocument.[cxx|h] : fix memory leaks. The return is suppressed
+ because never used... and in the same time, that's remove some memory leaks
+
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFile.cxx : now delete the PixelConvert instance.
+ * In examples and tests : change the type of image data variables from void*
+ to uint8_t*. Remmove all delete on image data variables
+
+2004-11-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDocument.cxx : Set the file pointer TP to 0 in the constructors.
+ Verify the file pointer value before open the file, and if it's not null,
+ a verbose message is generated.
+ Close correctly the file when the file isn't considered dicom-like. The
+ correctly close is a call to CloseFile.
+ When closing the file pointer, test if its not null to close the file.
+ * src/gdcmPixelConvert.cxx : bug fix for the SIEMENS_GBS_III-16-ACR_NEMA_1.acr
+ file. For an uncompressed image, the copied datas correspond in the least
+ case to the image size (calculated) or the image size specified in the
+ header. A verbose is generated if these two size mismatch
+
+2004-11-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * Test/TestAllReadCompareDicom.cxx : test the existence of the directory
+ using an 'ifstream' other than a 'FILE *'. The previous solution ('FILE *')
+ break under windows (with msvc6 compilation).
+
+2004-11-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmDicomDir.h : bug fix for the last Boix's commit (problem when
+ compiling with MSVC6)
+
2004-11-09 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
* Bugs fix for the Windows build with VC6
* CMakeLists.txt : bug fix - The include of the VTK lib is made only when it's
little endian. This should -heopfully- fix some tests
2004-11-03 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
- * Now the dictionary is compiled into gdcm lib. This is a default
+ * Now the dictionary is compiled into gdcm lib. This is a default
behavior, thus any dic file specified is picked before failback to
the one comiled into lib
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
+ 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-07-21 Jean-Pierre Roux
* FIX Now, Parsing and Printing a DICOMDIR do work!
( troubles remain in makeDicomDir and BuildUpDicomDir :-(
-
+
2004-07-20 Jean-Pierre Roux
* FIX Some brain damaged headers have Zero-Lenght fields
for 'Transfert Syntax UID', or 'Media Stored SOP Class UID'.
2004-06-29 Jean-Pierre Roux
FIX : - remove Frog's beautified, but never checked 'Parse7FE0' code,
- replace by uggly but working old code :-(
- A lot of things should be OK again.
- It's really urgent to have a test suite that *tests*,
- to prevent Frog's beautifying sessions to break all the stuff
- (twice, withing a fortnigh ...)
+ A lot of things should be OK again.
+ It's really urgent to have a test suite that *tests*,
+ to prevent Frog's beautifying sessions to break all the stuff
+ (twice, withing a fortnigh ...)
2004-06-28 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
* Test/TestWriteRead.cxx and TestReadWrite.cxx merged (because of
2004-06-24 Jean-Pierre Roux
FIX : - now Write drops LUT Descriptors and LUTs (if any)
- when SamplesPerPixel =3
+ when SamplesPerPixel =3
- now Write is no longer confused by
- 'BitsAllocated = 12" and 'BitsStored=12"
+ 'BitsAllocated = 12" and 'BitsStored=12"
- "UN" value representation Elements are now written correctly
- (their legth is stored on 4 bytes -just like OB, OW, and SQ-)
+ (their legth is stored on 4 bytes -just like OB, OW, and SQ-)
ENH : - now gdcmHeader has its own Write methods
- (in order to split the job that has not to be done
- for gdcmDicomDir)
+ (in order to split the job that has not to be done
+ for gdcmDicomDir)
2004-06-23 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
* Test/PrintAllDocument.cxx: looping on files is now effective. It used to
2004-06-24 Jean-Pierre Roux
FIX : Write - All the Sequences and Sequence Item are now written
as 'no length' stuff, and a Sequence Delimitor aor an Item Delimitor
- is added a the end, when necessary.
+ is added a the end, when necessary.
- A lot of brain-damaged images, that were read correctly are
- now written correctly
- - length compatible BinEntry are now loaded correctly
- (even for odd groups)
+ now written correctly
+ - length compatible BinEntry are now loaded correctly
+ (even for odd groups)
Note : only Explicit Value Representation was checked.
- (question : is implicit VR really necessary for gdcm ?)
+ (question : is implicit VR really necessary for gdcm ?)
2004-06-23 Eric Boix <Eric.Boix@creatis.insa-lyon.fr>
* DEVELOPPER: added a proposition of coding style.
2004-06-22 Jean-Pierre Roux
In order : to write Sequences, whatever their imbrication level,
- : to allow user to create his own Sequences
- a lot of modif where necessary (adding, moving, or virtualising methods)
+ : to allow user to create his own Sequences
+ a lot of modif where necessary (adding, moving, or virtualising methods)
-WARNING : save your own sources *before* cvs up !
-
- - gdcmBinEntry
- ADD virtual void Write(FILE *fp, FileType filetype);
-
+ WARNING : save your own sources *before* cvs up !
+
+ - gdcmBinEntry
+ ADD virtual void Write(FILE *fp, FileType filetype);
+
- gdcmDocEntry
- ADD virtual void Write(FILE *fp, FileType filetype);
- ADD void gdcmDocEntry::WriteCommonPart(FILE *fp, FileType filetype);
-
- - gdcmDocEntrySet
- ADD virtual void Write (FILE *fp, FileType filetype)=0;
- ADD virtual gdcmDocEntry *GetDocEntryByNumber(guint16 group,guint16 element) = 0;
+ ADD virtual void Write(FILE *fp, FileType filetype);
+ ADD void gdcmDocEntry::WriteCommonPart(FILE *fp, FileType filetype);
+
+ - gdcmDocEntrySet
+ ADD virtual void Write (FILE *fp, FileType filetype)=0;
+ ADD virtual gdcmDocEntry *GetDocEntryByNumber(guint16 group,guint16 element) = 0;
ADD gdcmDocEntry *GetDocEntryByName(std::string name);
ADD virtual std::string GetEntryByNumber(guint16 group,guint16 element) = 0;
- ADD std::string GetEntryByName(TagName name);
+ ADD std::string GetEntryByName(TagName name);
ADD gdcmDictEntry *NewVirtualDictEntry(guint16 group,
guint16 element,
std::string vr = "unkn",
std::string fourth = "unkn",
std::string name = "unkn");
- ADD gdcmValEntry *NewValEntryByNumber(guint16 group, guint16 element);
- ADD gdcmBinEntry *NewBinEntryByNumber(guint16 group, guint16 element);
+ ADD gdcmValEntry *NewValEntryByNumber(guint16 group, guint16 element);
+ ADD gdcmBinEntry *NewBinEntryByNumber(guint16 group, guint16 element);
ADD gdcmDocEntry *NewDocEntryByNumber(guint16 group, guint16 element);
ADD gdcmDocEntry *NewDocEntryByName (std::string Name);
ADD gdcmDictEntry *GetDictEntryByName (std::string Name);
ADD gdcmDictEntry *GetDictEntryByNumber(guint16, guint16);
- REM virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group, guint16 element)=0;
+ REM virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group, guint16 element)=0;
REM virtual gdcmDocEntry *NewDocEntryByName (std::string Name)=0;
-
- - gdcmDocument
- ADD virtual bool WriteF(FileType type); // New stuff, with recursive exploration
+
+ - gdcmDocument
+ ADD virtual bool WriteF(FileType type); // New stuff, with recursive exploration
ADD virtual std::string GetEntryByName (TagName tagName);
ADD virtual std::string GetEntryVRByName (TagName tagName);
REM virtual bool Write(FILE *, FileType);