* 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(); Anonymize(ostream& output) { a = gdcmFile("toto1"); a.SetPubValueByName("Patient Name", ""); a.SetPubValueByName("Date", ""); a.SetPubValueByName("Study Date", ""); a.write(output); }