X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=ChangeLog;h=f16b09603e24ff9f4575c72f25de8023dd4df4e0;hb=9ca4fd0ccbfea12ed7760856de3a8faf41625869;hp=ce610cb82bbcdb15917e543ebaf237cba47fc36d;hpb=e8439d97c8441809e9a5236e729bae1a25ffb418;p=gdcm.git diff --git a/ChangeLog b/ChangeLog index ce610cb8..f16b0960 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,366 @@ +2005-01-07 Benoit Regrain + * 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 + * 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 + * Adding GetMACAddres very alpha for now. This is tricky to be cross plateform. + +2005-01-06 Benoit Regrain + * src/gdcmDocument.[h|cxx] : remove all copy of DocEntry when parsing a file + +2005-01-06 Benoit Regrain + * src/gdcmDocEntrySet.[h|cxx], gdcmDocument.[h|cxx] : amelioration of + ValEntry, BinEntry, SeqEntry creation or replace + +2005-01-06 Benoit Regrain + * 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 + * 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 + * 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 + * 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 + * src/gdcmFile.cxx : Add the code of ReplaceOrCreateByNumber to not have + problems when compiling with the python wrapping + +2004-12-16 Benoit Regrain + * src/gdcmFile.cxx : bug fix. Omitted a Push in the DocEntryArchive when + writting in ImplicitVR + +2004-12-12 Jean-Michel Rouet + * 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 + * src/gdcmHeader.cxx : change the initialisation of default header. + Now, this header is readable by gdm, e-film, DicomWorks + +2004-12-10 Benoit Regrain + * 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 + * 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 + * 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 + * 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 + * src/gdcmPixelReadConvert.cxx : bug fix when would forcing load of a + DocEntry. Now use methods of the Document ! + +2004-12-09 Benoit Regrain + * Test/ShowDicomSeq.cxx : bug fix + +2004-12-08 Benoit Regrain + * 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 + * 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 + * 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 + * 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 + * src/gdcmPixelWriteConvert.[h|cxx] : ficnished this class + * src/gdcmFile.cxx : finished the correctly use of PixelWriteConvert + +2004-12-06 Benoit Regrain + * 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 + * 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 + * 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 + * 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 + * 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 + * src/gdcmFile.[h|cxx] : now use FileType instead of TWriteType. + +2004-12-03 Benoit Regrain + * 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 + * Rename src/gdcmPixelConvert.[h|cxx] to src/gdcmPixelReadConvert.[h|cxx] + +2004-12-02 Benoit Regrain + * 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 + * 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 + * gdcmPython/gdcm.i : change gdcmHeaderHelper to gdcmSerieHeader. Now, + the python part recompiles + +2004-11-30 Benoit Regrain + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * vtk/vtkGdcmReader.cxx : compilation bug fix for the vtk part + +2004-11-25 Benoit Regrain + * 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 + * 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 + * 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 + * 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 + * 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 + * src/gdcmFile.h : fix compilation errors on zorglub linuc computer + +2004-11-19 Benoit Regrain + * 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 + * 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 + * 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 + * 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 - * FIX : src/gdcmDocument.cxx Remove obvious code in the destructor + * FIX : src/gdcmDocument.cxx Remove obvious code in the destructor * FIX : src/gdcmPixelConvert : Set to NULL the deleted structures in the squeeze method