X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=TODO;h=4673dc1063c90d5278d3adcf3dd985b463d3a451;hb=44a9814938a6824d3a66b932429084517da6dadf;hp=1b0dc98a8386027b79171a008a4b28d4c04ea9b5;hpb=d84a0a9e04fe65dc2ff732d75731fa403d0e02b8;p=gdcm.git diff --git a/TODO b/TODO index 1b0dc98a..4673dc10 100644 --- a/TODO +++ b/TODO @@ -1,7 +1,35 @@ -* 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* ! -* adapt python/gdcmPython/Makefile to automake/autoconf tools +----------------------------------------------------------------------------- +Use namespace gdcm: + Problem: using enum with name like 'Unknow' on .Net, or LP on cygwin + causes problems. + Question: when introducing the namespace, should we remove the gdcm + prefix from classes or keep it ? +----------------------------------------------------------------------------- +Convert the C-like IO to C++ IO: + Goal: remove all the C-oriented IO references like FILE*, fread... + with the C++ fstream notation. Provide overload of operators + << and >> for any gdcm class using file IO. + Question: the underlying jpeg libraries (written in C) use the FILE* + notation. Is there a way to still use fstream in gdcm, and + build or pass the proper FILE* to jpeg libs ? + References: + binary IO are available at + http://www.angelfire.com/country/aldev0/cpphowto/cpp_BinaryFileIO.html +----------------------------------------------------------------------------- +* Clean up src/gdcmValEntry.[h|cxx] from VoidArea +* vtk/vtkGdcmHeader.cxx: if speed becomes a concern some changes can + be made at the cost of memory consumption (refer to header of + vtk/vtkGdcmHeader.cxx) +* Add a GetVersion() global function. +* 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... * 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 @@ -15,21 +43,35 @@ 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. +* JPR: fournir une method qui ne fait que lire les elements passes en arguments + sous forme d'une liste. +* JPR: 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(); -GetPubElValByNumber doit faire la difference entre chaine vide -et chaine pas touve''. Eventuellement raiser une exception ? + Anonymize(ostream& output) { + a = gdcmFile("toto1"); + a.SetPubValueByName("Patient Name", ""); + a.SetPubValueByName("Date", ""); + a.SetPubValueByName("Study Date", ""); + a.write(output); + } -gdcmHeader::ReadNextElement: retarder le stockage en mem des gros elements - * etablir une taille limite sur les elements a ramener en memoire - (parametrisable en public dans la classe) - * ne pas ramener les elements au dela de ce seuil, mais les flaguer - comme a charger plus tard - * a l'acces (pour le groupe des pixels par exemple) retourner au fichier - pour trouver la bonne valeur (GetPixelData). - * fournir une method qui ne fait que lire les elements passes en arguments - sous forme d'une liste. - -grep str2num *.cxx: 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...