X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=ChangeLog;h=80340b5d5face003db20bca271f3b9e1aff30a6c;hb=HEAD;hp=300951a34a85f8e999304636d5f7040ef06898f9;hpb=f5cdecea039215f13707c9cf19c0b5030548c237;p=gdcm.git diff --git a/ChangeLog b/ChangeLog index 300951a3..80340b5d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,35 +1,1096 @@ +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 + * 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 + * 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 + * 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 + * Adding users file in CVSROOT for mail blaming + +2005-06-04 Mathieu Malaterre + * 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 + * 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 + * 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 + * 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 + * 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 + * Builder/ : add something to facilitate the RPM creation of gdcm + +2005-04-15 Mathieu Malaterre + * 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 + * 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 + * src/gdcmDictGroupName.[h|cxx] : add a correlation between a group (number) + and it's representation name (for the NIH) + +2005-03-31 Benoit Regrain + * 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 + * 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 + * 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 + * 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 + * Testing/TestMAkeIcon.cxx : complete the test + +2005-02-10 Benoit Regrain + * 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 + * src/gdcmFileHelper.[h|cxx] : now correctly set the VR of the datas when + writting the file + +2005-02-09 Benoit Regrain + * Test/VTKTestWriteSeq.cxx : add a VTK test to write sequences + +2005-02-09 Benoit Regrain + * 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 + * 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 + * 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 + * 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 + * 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 + * FIX SQItem::AddEntry inserts now *in the right place* any Entry + (Dicom Element) into the Sequence Item + +2005-01-31 Benoit Regrain + * src/*.cxx : first parss to normalize file organisation + +2005-01-31 Benoit Regrain + * src/gdcmDirList.[h|cxx] : add method to find a directory + * Test/TestAllReadCompareDicom.cxx : bug fix under Windows + +2005-01-31 Mathieu Malaterre + * 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 + * 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 + * Remove friend between DocEntry and File classes + * Remove friend between PixelReadConverter and RLEFramesInfo, + JPEGFragmentsInfo + +2005-01-28 Benoit Regrain + * src/gdcmFile.cxx, gdcmDocument.cxx : fix the bug on the group|element + 0002|0000. The value was incorrect. + +2005-01-28 Benoit Regrain + * vtk/vtkGdcmWriter.[h|cxx] : add the gestion of UID + +2005-01-28 Benoit Regrain + * 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 + * Test/TestVR.cxx : fix memory leaks + +2005-01-27 Mathieu Malaterre + * 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 + * 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 + * move RLEInfo & JPEGInfo from Document to File + +2005-01-26 Benoit Regrain + * FIX : remove so many friend between classes + +2005-01-25 Benoit Regrain + * src/gdcmDocEntrySet.cxx : Bug fix when getting the value + * src/gdcmContentEntry.[h|cxx], gdcmValEntry.cxx : amelioration of code + +2005-01-25 Jean-Pierre Roux + 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 + * Test/VTKTest*.cxx : bug fix under linux + +2005-01-25 Benoit Regrain + * 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 + * 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 + * 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 + * methods ReplaceOrCreate renamed as Insert + (nobody will be any longer confused by 'CreateOrReplace') + +2005-01-24 Mathieu Malaterre + * 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 + * 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 + - 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 + * 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 + * 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 + * bug fix for compilation on MSVC6 + * gdcmPython/gdcm.i : rename of classes missed + +2005-01-21 Jean-Pierre Roux + * 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 + * 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 + * 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 + * 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 + * src/gdcmDicomDir.cxx : simplify the NewPatient method, like made in + gdcm::DicomDirPatient, gdcm::DicomDirStudy, gdcm::DicomDirSerie + +2005-01-20 Benoit Regrain + * src/gdcmSQItem[h|cxx] : rename some methods to have coherent names + +2005-01-20 Benoit Regrain + * 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 + * 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 + * src/gdcmDocEntry.h : DocEntry is now secure. User can't change the + DictEntry or the VR. + +2005-01-19 Benoit Regrain + * gdcmPython/ : change GDCM_DATA_PATH to GDCM_DATA_ROOT to be complient with + all in gdcm + +2005-01-19 Benoit Regrain + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * FIX 'Dictionnary' is now spelt 'Dictionary' + 'wether' is now spelt 'whether' + 'archieve' is now spelt 'archive' ;-) + 2005-01-15 Jean-Pierre Roux * ADD DicomDir, DicomDirPatient, DicomDirStudy, DicomDirSerie, DicomDirImage - related methods, in order not to expose internal mechanisms + related methods, in order not to expose internal mechanisms InitTraversal(); - GetNextEntry(); - * REM methods that exposed internal mechanisms : + 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 + * UPD Test programs : + makeDicomDir.cxx + BuildUpDicomDir.cxx + TestDicomDir.cxx + * UPD Example program + PrintDicomDir.cxx * ADD DictSet methods InitTraversal() GetNextEntry() 2005-01-15 Mathieu Malaterre * Removed the Print/indent/default parameter mess. There is absolutely no - reason to have to methods, moreover with the second takeing the ostream as - *SECOND* parameter. This was clearly a bad hack to get things compile. + 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 * 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 getIPAddress + 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 * Unfortunately to be able to test gdcmDirList I had to break the API @@ -42,17 +1103,17 @@ sort DICOM files 2005-01-13 Jean-Pierre Roux - * 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 - PixelWriteConveror, 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 onj Little Endian Processor - + * 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 * src/gdcmDocument.[h|cxx] : comment all methods concerning a flat hash table. @@ -74,8 +1135,8 @@ 2005-01-13 Jean-Pierre Roux * merging of Test/PrintDicomDir and Test/TestDicomDir - * removal of now redundant Test/PrintDicomDir - * enhancement of Example/PrintDicomDir + * removal of now redundant Test/PrintDicomDir + * enhancement of Example/PrintDicomDir 2005-01-13 Benoit Regrain * Now, python test might work on systems @@ -83,16 +1144,16 @@ 2005-01-13 Jean-Pierre Roux * FIX : First entry following group 0002 was lost for - Explicit Big Endian Transfer Syntax files + Explicit Big Endian Transfer Syntax files (group and elem not swaped) - + 2005-01-12 Jean-Pierre Roux * 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 + 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 @@ -110,11 +1171,11 @@ 2005-01-11 Jean-Pierre Roux * 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' + 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 * Hopefully fix the bug on MacOSX and static global initialization. @@ -126,9 +1187,9 @@ 2005-01-08 Mathieu Malaterre * 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. + 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 * According to Benoit's suggestion, and without any objection from anybody @@ -149,22 +1210,22 @@ * Removal of useless and dangerous methods : GetEntryByName, GetEntryVRByName, GetDocEntryByName, SetEntryByName GetDocEntryByName, GetEntryByName, GetDictEntryByName - * Removal of usless methods : + * 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 + 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 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 + Unused till now... + * ADD : Add dicomGroupNameAbbreviations.dic should be used to write a method to replace the former Dict::GetDictEntryNamesByCategory() @@ -201,11 +1262,11 @@ 2005-01-05 Jean-Pierre Roux * 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, + * 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 + * REM : removal of once-called method File::WriteBase + integration of its code in formerly one-line method File::Write 2005-01-05 Benoit Regrain * src/gdcmCommon.h : add the GDCM_UNKNOWN constant. This constant is to @@ -748,7 +1809,7 @@ 2004-10-13 Eric Boix * Doc/Website/MailingList.html added (Sidebar.html changed accordingly). * gdcmPython/gdcm.i: fix for compilation of wrappers (Note: %include order - matters, as stated in warning note at begining of %include section). + matters, as stated in warning note at beginning of %include section). * src/gdcmDicomDir*.[cxx|h]: coding style * src/gdcmDocument.h: doxygen \ref seems uncompatible with \todo. * src/gdcmJpeg8.cxx: doxygen fix. @@ -769,7 +1830,7 @@ gdcmHeader -> gdcm::Header It would be nice if people keep in mind to no open the namespace, since it allows compilation on broken plateform which were defining common symbol in - the standart namespace (like LP, Unknown ...) + the standard namespace (like LP, Unknown ...) 2004-10-10 Eric Boix * CLEANUP_ROUND (10) for gdcmPixelConvert (Xanax is my friend stage) @@ -806,7 +1867,7 @@ - src/gdcmDocument.[cxx|h] Parse7Fe0 renamed to ComputeRLEInfo. This is because Parse7Fe0 used to parse the pixels to compute the length. This task was passed over to FindDocEntryLengthOB() a long - time ago, EXCEPT I had forgotten the OW case... + time ago, EXCEPT I forgot the OW case... Hence Parse7Fe0 was no longer necessary. When renaming to ComputeRLEInfo we just recylce the code for parsing RLE fragments and computing offsets. @@ -1157,7 +2218,7 @@ 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 ...) + (twice, withing a fortnigh ...) 2004-06-28 Eric Boix * Test/TestWriteRead.cxx and TestReadWrite.cxx merged (because of @@ -1254,7 +2315,7 @@ 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", @@ -1292,22 +2353,22 @@ REM gdcmDocEntry *NewDocEntryByName (std::string Name); REM gdcmValEntry *NewValEntryByNumber(guint16 group, guint16 element); REM gdcmBinEntry *NewBinEntryByNumber(guint16 group, guint16 element); - - - gdcmElementSet - ADD virtual void Write(FILE *fp, FileType filetype); - + + - gdcmElementSet + ADD virtual void Write(FILE *fp, FileType filetype); + - gdcmSeqEntry - ADD virtual void Write(FILE *fp,FileType filetype); + ADD virtual void Write(FILE *fp,FileType filetype); - gdcmSQItem ADD virtual void Write(FILE *fp, FileType filetype); - ADD virtual std::string GetEntryByNumber(guint16 group, guint16 element); + ADD virtual std::string GetEntryByNumber(guint16 group, guint16 element); REM std::string GetEntryByNumber(guint16 group, guint16 element); REM std::string GetEntryByName(TagName name); - gdcmValEntry - ADD virtual void gdcmValEntry::Write(FILE *fp, FileType filetype); - + ADD virtual void gdcmValEntry::Write(FILE *fp, FileType filetype); + 2004-06-21 Eric Boix * Test/TestWriteSimple.cxx: fix to gdcmHeader-gdcmHeaderHelper revamping. The default constructor invoked by the line @@ -1417,23 +2478,23 @@ - Specific clean up of Parse7FE0() (umproperly named actually). * gdcmPython/testSuite.py: an odd temporary kludge introduced. -2004-06-14 Jean-Pierre Roux +2004-06-14 Jean-Pierre Roux * gdcmSeqEntry.cxx - - fix the display of Sequence Delimitor (SQDepthLevel pb) - - fix the display of SQItem ordinal number + - fix the display of Sequence Delimitor (SQDepthLevel pb) + - fix the display of SQItem ordinal number - add the GetSQItemByOrdinalNumber method - - remove some useless never written private methods - + - remove some useless never written private methods + 2004-06-14 Jean-Pierre Roux * gdcmBinEntry.cxx - adding a constructor taking a gdcmDocEntry as an input param - - ReplaceOrCreateByNumber now returns : - a gdcmBinEntry * if a Binary (void *) value is passed as a param - a gdcmValEntry * if a string value is passed as a param + - ReplaceOrCreateByNumber now returns : + a gdcmBinEntry * if a Binary (void *) value is passed as a param + a gdcmValEntry * if a string value is passed as a param * dcmDocument.cxx - SetEntryByNumber now allows setting gdcmValEntry or gdcmBinEntry, - according to the param type (no longer sets a gdcmDocEntry) - - GetValEntryByNumber, GetBinEntryByNumber added + according to the param type (no longer sets a gdcmDocEntry) + - GetValEntryByNumber, GetBinEntryByNumber added - NewValEntryByNumber and NewBinEntryByNumber added * gdcmFile.cxx - Pixel Data are now linked to the (7fe0,0010) elements, after reading @@ -1441,10 +2502,10 @@ - GetSQItemNumber and SetSQItemNumber added, to provide a (relative) Item identier inside a given Sequence \warning : some pb remaining around this number - will be solved asap - - AddEntry now takes the Item Number as a param + will be solved asap + - AddEntry now takes the Item Number as a param * gdcmValEntry.cxx - - adding a constructor taking a gdcmDocEntry as an input param + - adding a constructor taking a gdcmDocEntry as an input param 2004-06-14 Eric Boix * Memory leak hunt with the following command: @@ -1621,7 +2682,7 @@ SeQuence indented printing of Dicom Header. * ENH merge methods gdcmParser::Parse and gdcmParser::LoadHeaderEntries into the single gdcmParser::LoadHeaderEntries for efficiency purpose. - Computation of SQDepthLevel is now part of gdcmHeader constructor + Computation of SQDepthLevel is now part of gdcmHeader constructor * ENH add self defined param 'new' to PrintHeader to 'show' the SeQuence tree-like structure of a Dicom Header. * FIX Test code cleaning @@ -1642,9 +2703,9 @@ * ENH Minor changes to the Print() methods. * ADD gdcmParser::PrintEntryNiceSQ() to allow SQ-indented Header printing. Example given with : - > PrintHeader fileName 2 new + > PrintHeader fileName 2 new (SQ based tree-like structure still to be done for the Header ...) - + 2004-04-22 Mathieu Malaterre * ENH: Some cosmetic clean up for compilation with -W -Wall -Werror 1. I have added some unsigned where needed @@ -1665,17 +2726,17 @@ * FIX gdcmHeaderHelper::GetXSpacing when a single value is found (bug ?), xpacing is now defaulted to yspacing - + 2004-04-19 Jean-Pierre Roux * ADD gdcmData/Wrist.pap (PAPYRUS 3.0 -single frame-) for checking purpose * ENH add parameters : bool exception_on_error = false, bool enable_sequences = false, - bool ignore_shadow = false + bool ignore_shadow = false to the gdcmFile constructors to be full gdcmParser compliant * FIX vtk/vtkGdcmReader.cxx now uses enable_sequences = true in gdcmFile to allow reading of PAPYRUS 3.0 files - + 2004-04-06 Jean-Pierre Roux * ADD gdcmData/E00001S03I0015.dcm for SQ checking purpose @@ -1683,7 +2744,7 @@ * ADD : Test/checksequence.sh, for a general recap on SQ pb * FIX : gdcmParser::WriteEntryTagVRLength emprovement of special treatement for Philips spurious Tag fffe|0000 while rewritting Dicom files - + 2004-03-30 Jean-Pierre Roux * FIX gdcmParser::ReplaceOrCreateByNumber shouldn't seg fault any more for ACR file, written out as DICOM files (hope so...) @@ -1709,7 +2770,7 @@ from gdcmParser::WriteEntry to gdcmParser::WriteEntries * FIX : gdcmObject::ResetBoundaries now stops properly when end-of-list is reached - : gdcmVersion modified (as Benoit Regrain asked) + : gdcmVersion modified (as Benoit Regrain asked) 2004-03-29 Eric Boix * src/gdcmParser.cxx: removal of all TAB character. Indentation fixed. @@ -1774,14 +2835,14 @@ add gdcmDicomDirPatient:NewStudy add gdcmDicomDirStudy:NewSerie add gdcmDicomDirSerie:NewImage - to allow making gdcDicomDir object. + to allow making gdcDicomDir object. * ADD PrintDicomDir executable that uses gdcmDicomDir tree-like structure (as opposite to the gdcmHeader chained list) 2004-02-11 Benoit Regrain * FIX : memory leaks and the set of ArgDelete methods in gdcmDicomDir when using from python - + 2004-02-10 Benoit Regrain * FIX : bug fix in the gdcmDirList for the recursivity in directories * FIX : in gdcmDicomDir when the directory is empty @@ -2000,19 +3061,19 @@ not longer on the TagElValueHT tagHt member * ENH : PrintPubElVal shows (temporarily) both results, with the tagHt member and the listElem member. - (it's easier to 'see' the problems when using Printheader) + (it's easier to 'see' the problems when using Printheader) * FIX : old private member LgrElem is now splitted into ReadLength : Length actually found on disk (updated only - if bug fixing is necessary), for internal - use only - UsableLength : Updated by FixFoundLength, to fix a bug - or to allow Parser going on. - Will allow to re-write a kosher header when a SeQuence - with a length (not 0000) is found + if bug fixing is necessary), for internal + use only + UsableLength : Updated by FixFoundLength, to fix a bug + or to allow Parser going on. + Will allow to re-write a kosher header when a SeQuence + with a length (not 0000) is found Warning : gdcmFile::Write still uses the TagHt (not ListElem) - because gdcmElValSet::Add does not update ListElem - (to be written) + because gdcmElValSet::Add does not update ListElem + (to be written) 2003-11-07 Jean-Pierre Roux * FIX misstyping in Transfert Syntax name table @@ -2072,7 +3133,7 @@ 2003-10-29 Mathieu Malaterre * ENH: Can be used like this '$vtkgdcmViewer *.dcm' with *.dcm - being coherents dicom files. + being coherents dicom files. 2003-10-29 Mathieu Malaterre * FIX: DOH ! Forgot about windo$e users, they couldn't read lossless jpeg, @@ -2216,7 +3277,7 @@ * ENH: Generate both user and dev documentation * ENH: Should work on windows too * ENH: Only one doxygen config.in file is needed - * FIX: make install should be ok now on ùnix plateform + * FIX: make install should be ok now on Unix plateform * FIX: PATH to dictionary was wrong (missing /) * ENH: OpenFile, return true if the file looks like an ACR or DICOM file @@ -2277,7 +3338,7 @@ - deals with YcBcR (YBR_FULL) files - deals with YBR_YBR_FULL_422 files (they work as RBG files ?!?) WARNING : nothing was checked for YBR_PARTIAL_422, YBR_ICT, - YBR_RCT files. + YBR_RCT files. (no sample found :-( 2003-10-02 Mathieu Malaterre @@ -2291,7 +3352,7 @@ * removed leaks 2003-09-24 Jean-Pierre Roux - * The lines are now eigthy characters long.for + * The lines are now eigthy characters long for gdcmHeader.cxx gdcmHeaderHelper.cxx gdcmParse.cxx 2003-09-22 Benoit Regrain @@ -2749,7 +3810,7 @@ 2003-03-10 Eric Boix * gdcmPython/__init__.py doesn't crash anymore when running in - in InstallMode or PreInstallMode but with an environement given + in InstallMode or PreInstallMode but with an environment given value of GDCM_DICT_PATH. * src/gdcmDictSet.[cxx/h] coding style. @@ -2890,7 +3951,7 @@ entries within the associated public Dicom dictionary resp. the same information but sorted by the fourth field (PAT, IMG, DIR) of the dictionary. - - Dicts/dicomV3.dic Entries which had and unspecified fourth field + - Dicts/dicomV3.dic Entries which had an unspecified fourth field are now in the "???" group. - python/gdcm.i changed accordingly, - python/demo/printGroupedPublicDict.py added, that gives an example @@ -2979,7 +4040,7 @@ 2002-11-18 Eric Boix * src/gdcm.h and gdcmHeader.cxx are now "Big Endian transfer syntax" - aware. See the strategy comments in gdcmHeader::FindeLength(). + aware. See the strategy comments in gdcmHeader::FindLength(). * Test/test.cxx now accepts a filename as first argument. * Data/US-PAL-8-10x-echo.dcm and US-RGB-8-epicard.dcm added. * python/testSuite.py changed to integrate test on above files. @@ -3042,7 +4103,7 @@ 2002-10-31 Eric Boix * Straightforward temporary fixes for swig to build the python wrappers. src/Makefile now has a python working entry [by working we mean - that we can import de shadow classes without errors]. + that we can import the shadow classes without errors]. 2002-10-29 Eric Boix * hashtest.cxx removed (since already in Test)