1 * Convert the C-like IO to C++ IO (i.e. remove FILE*, fread...). Some docs
3 http://www.angelfire.com/country/aldev0/cpphowto/cpp_BinaryFileIO.html
4 * Remove enable_sequences and ignore_shadow from gdcmDocument().
5 * vtk/vtkGdcmHeader.cxx: if speed becomes a concern some changes can
6 be made at the cost of memory consumption (refer to header of
8 * Add a GetVersion() global function.
9 * gdcmElValSet::SetElValueLengthByNumber IMNSHO should be trashed.
10 It's only purpose is a onliner substitute to calling GetElValueByNumber
11 and then SetLength. This only obfuscates the caller code more than
13 Besides the definition of gdcmElValSet::SetElValueLengthByNumber itself
14 it quite poor since it is a almost exact copy of
15 gdcmElValSet::GetElValueByNumber except for the returned code.
16 gdcmHeader::SetPubElValLengthByNumber (which is based on
17 gdcmElValSet::SetElValueLengthByNumber) is used nowhere...
18 * The declarations commented out and starting with "TODO Swig" (try
19 grep "TODO Swig" *.h) needed to be temporarily removed for swig to
20 proceed correctly (in fact problems appears at loading of _gdcm.[so/dll]).
21 So, simply uncomment the declaration once you provided the definition of
23 * As stated by the first lines of Test/ExceptionAndPython/README, it looks
24 like we can move back to the exceptions and remove the errno stuff from
26 * Fix the bug in Test/bug1.cxx (see first comment line): Win32 only.
27 * All (or at least many of) the methods of gdcmHeader whose only arguments
28 are an ElValue* (e.g. FindLength, FindVR, LoadElementValue...) can
29 be moved away to ElValue class on condition of transmitting the
30 gdcmHeader.fp attribute. This change should be considered since it
31 would allow those method to avoid artificial calls to ElValue::GetElement(),
33 * Eat leanding_trailing_whitespace (found in python/gdcmPython/gdcmi) should
34 be used when parsing the dictionary in C++ !
35 * Group length is not a unique tag in a file. Hence avoid putting it
36 in the element values dictionary without doing something smarter
37 (say, instead of storing the length store the group and the length
38 so we can related a length to a group).
39 * GetPubElValByNumber doit faire la difference entre chaine vide
40 et chaine pas touve''. Eventuellement raiser une exception ?
41 * gdcmHeader::LoadElements only loads the element whose length is
42 below the specified size. When accessing the value of such an element
43 the content is unfound ! Find a decent way of loading the value on
45 * JPR: fournir une method qui ne fait que lire les elements passes en arguments
46 sous forme d'une liste.
47 * JPR: gdcmHeader::CheckSwap() dans le cas ACR pas propre, degager tout de
48 suite si on a deduit que c'en est pas...
49 * python /usr/lib/python2.2/site-packages/DaVaW/demo/dvwDcmReader.py
50 and load image /home/frog/cvs/DCMlib/Data/CT-MONO2-16-ankle.dcm
51 will yield wrong coloring scheme as opposed to
52 affim filein=/home/frog/cvs/DCMlib/Data/CT-MONO2-16-ankle.dcm
53 * gdcmFile should implement the following:
55 WriteDicom.SetFileName("MyDicomFile.dcm");
56 string * AllTags = gdcmHeader.GetDcmTagNames();
57 WriteDicom.SetDcmTag(AllTags[5], "253");
58 WriteDicom.SetDcmTag("Patient Name", "bozo");
59 WriteDicom.SetDcmTag("Patient Name", "bozo");
60 WriteDicom.SetImageData(Image);
63 Anonymize(ostream& output) {
64 a = gdcmFile("toto1");
65 a.SetPubValueByName("Patient Name", "");
66 a.SetPubValueByName("Date", "");
67 a.SetPubValueByName("Study Date", "");
71 * use namespace for gdcm, to avoid problem when using enum with name like
72 'Unknow' on .Net, and LP on cygwin that cause problems