X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=TODO;h=b7a40513a06c24a0428f3fcefd71d50ee92543c3;hb=4a0c2407ec81e041c2e43781acec4c78c83fc487;hp=9fc1484d0be19209fa4fc32e092467be1b1b5bf7;hpb=0fea0679c6061128104e6a357d20653baa274884;p=gdcm.git diff --git a/TODO b/TODO index 9fc1484d..b7a40513 100644 --- a/TODO +++ b/TODO @@ -1,12 +1,62 @@ -GetPubElValByNumber doit faire la difference entre chaine vide -et chaine pas touve''. Eventuellement raiser une exception ? +* gdcmElValSet::SetElValueLengthByNumber IMNSHO should be trashed. + It's only purpose is a onliner substitute to calling GetElValueByNumber + and then SetLength. This only obfuscates the caller code more than + clarifying it. + Besides the definition of gdcmElValSet::SetElValueLengthByNumber itself + it quite poor since it is a almost exact copy of + gdcmElValSet::GetElValueByNumber except for the returned code. + gdcmHeader::SetPubElValLengthByNumber (which is based on + gdcmElValSet::SetElValueLengthByNumber) is used nowhere... +* The declarations commented out and starting with "TODO Swig" (try + grep "TODO Swig" *.h) needed to be temporarily removed for swig to + proceed correctly (in fact problems appears at loading of _gdcm.[so/dll]). + So, simply uncomment the declaration once you provided the definition of + the method... +* As stated by the first lines of Test/ExceptionAndPython/README, it looks + like we can move back to the exceptions and remove the errno stuff from + src/gdcm* ! +* Fix the bug in Test/bug1.cxx (see first comment line): Win32 only. +* All (or at least many of) the methods of gdcmHeader whose only arguments + are an ElValue* (e.g. FindLength, FindVR, LoadElementValue...) can + be moved away to ElValue class on condition of transmitting the + gdcmHeader.fp attribute. This change should be considered since it + would allow those method to avoid artificial calls to ElValue::GetElement(), + ElValue::GetVR()... +* Eat leanding_trailing_whitespace (found in python/gdcmPython/gdcmi) should + be used when parsing the dictionary in C++ ! +* Group length is not a unique tag in a file. Hence avoid putting it + in the element values dictionary without doing something smarter + (say, instead of storing the length store the group and the length + so we can related a length to a group). +* GetPubElValByNumber doit faire la difference entre chaine vide + et chaine pas touve''. Eventuellement raiser une exception ? +* gdcmHeader::LoadElements only loads the element whose length is + below the specified size. When accessing the value of such an element + the content is unfound ! Find a decent way of loading the value on + explicit demand. +* fournir une method qui ne fait que lire les elements passes en arguments + sous forme d'une liste. +* gdcmHeader::CheckSwap() dans le cas ACR pas propre, degager tout de suite + si on a deduit que c'en est pas... +* python /usr/lib/python2.2/site-packages/DaVaW/demo/dvwDcmReader.py + and load image /home/frog/cvs/DCMlib/Data/CT-MONO2-16-ankle.dcm + will yield wrong coloring scheme as opposed to + affim filein=/home/frog/cvs/DCMlib/Data/CT-MONO2-16-ankle.dcm +* gdcmFile should implement the following: + gdcmFile WriteDicom; + WriteDicom.SetFileName("MyDicomFile.dcm"); + string * AllTags = gdcmHeader.GetDcmTagNames(); + WriteDicom.SetDcmTag(AllTags[5], "253"); + WriteDicom.SetDcmTag("Patient Name", "bozo"); + WriteDicom.SetDcmTag("Patient Name", "bozo"); + WriteDicom.SetImageData(Image); + WriteDicom.Write(); -gdcmHeader::_IdDcmRecupLgr : le d'elements dans la table de type DICOM_VR - est hard code' (a 26). FIX ME. + Anonymize(ostream& output) { + a = gdcmFile("toto1"); + a.SetPubValueByName("Patient Name", ""); + a.SetPubValueByName("Date", ""); + a.SetPubValueByName("Study Date", ""); + a.write(output); + } -grep str2num *.c: c'est une macro sans doute proprifiable - -gdcmHeader::CheckSwap() dans le cas ACR pas propre, degager tout de suite -si on a deduit que c'en est pas... - -gdcmHeader::_IdDcmRecupLgr return type should be long int.