X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=TODO;h=fdc27d9d7a8670545f94edf1482bfc3f96de2356;hb=985954a7af00b467b183bb3f5db9dc11f89fcaf5;hp=0ad762c9b76a1ef581e6566ee39403d25066ddbb;hpb=9756355d79626cad8a58b9d7b7b1412b287517ac;p=gdcm.git diff --git a/TODO b/TODO index 0ad762c9..fdc27d9d 100644 --- a/TODO +++ b/TODO @@ -10,8 +10,156 @@ Details: Comments: ------------- +---------------------------------------------------------------------------- +Description: Rewrite gdcmDebug so that it works +Date: 2004 Dec 07 +Attributed: Mathieu +Details: +Comments: +---------------------------------------------------------------------------- +Description: Need to fix cygwin + wrong path (passing UNIX path when windows patch expected) +Date: 2004 Nov 16 +Attributed: Mathieu +Details: +Comments: +---------------------------------------------------------------------------- +Description: Need a test for gdcmHeaderHelper (iterating over gdcmData) for instance +Date: 2004 Nov 16 +Attributed: Mathieu +Details: +Comments: It used to seg fault when a README file was found +---------------------------------------------------------------------------- +Description: gdcmJpeg8 is strictly a copy/paste of gdcmJpeg12.cxx. +Date: 2004 Oct 13 +Attributed: +Details: +We should write the code in a common place, then include this 'cxx' file so +the define from gdcm_mangle redefine to the proper one. +Comments: +This will be usefull since I may need in the future a 16bits version of this +reading +----------------------------------------------------------------------------- +Description: Change jpeg 'exit' call to standard c++ exception using the jpeg + error +handler +Date: 2004 Oct 8 +Attributed: +Details: +Comments: +----------------------------------------------------------------------------- +Description: Add kwsys as a subdir somewhere in gdcm +Date: 2004 Oct 8 +Attributed: Mathieu +Details: +Comments: +----------------------------------------------------------------------------- +Description: ljpeg +Date: 2004 Oct 8 +Attributed: Mathieu +Details: +Comments: ljpeg was rip from medcon and not the official one. medcon tried to +optimised function using MACRO (doh!), so it make its very unreadable and very +hard to fix warnings. Should go back to official source, copy proper copyright +and fix warnings on dashboard +13/10: update apparently no dicom toolkit use this lib as it is too buggy. +We should use the ls-patch for ijg instead. Thus we can safely get rid of that +lib. +14/10: PHILIPS_Gyroscan-12-MONO2-Jpeg_Lossless.dcm prove that I was right the +old Cornwell lib is buggy and does not read anything. +----------------------------------------------------------------------------- +Description: Extent reading support +Date: 2004 Oct 8 +Attributed: Mathieu +Details: +Comments: All ITK/VTK readers support selecting extent. gdcm should support +selecting extent before being inserted into ITK +----------------------------------------------------------------------------- +Description: Generate new UID each time we write DICOM +Date: 2004 Oct 8 +Attributed: Mathieu +Details: +Comments: According to DICOM ref a new UID should be created each we write a +DICOM images. I guess it should be an option so that we can still use md5sum to +check dicom file. The proposed way was: +http://www.creatis.insa-lyon.fr/pipermail/dcmlib/2004-September/000611.html +Bah, comme Win32 pose encore pb: + echo "gdcm" | od -b + 0000000 147 144 143 155 012 +et si on prenait: + radical + 147.144.143.155 + IP + time() + +----------------------------------------------------------------------------- +Description: gdcmDicomDir and SQItem creation +Date: 2004 Nov 16 +Attributed: +Details: DicomDir creates some SQItem (by new). After that, it creates + the corresponding DicomDirPatient, etc. using the content of the SQItem + (the content is composed with some DocEntry's that can't be destroyed). + So, if the SQItem is deleted, then it's content is deleted to. But the + DicomDirPatient, etc. use the content of the SQItem. Then, the SQItem can't + be deleted, and when have memory leaks + +----------------------------------------------------------------------------- +Description: [BUG] Better handling of unfound Dicom dictionary. + When gdcm doesn't find the Dicom dictionary (because it's + path to the directory of dictionary is uncorrect, either + because the install relative layout was broken after file moves + or because the environnement variable GDCM_DICT_PATH is + unpropely set), gdcm will: + 1/ print a warning + 2/ throw an exception (that is internaly UNcatched by gdcm) + that in most cases provoques the caller application to + exit uncleanly (uncatched excpetions in fine call abort() ). + Additionaly on Win32 the warning print isn't displayed because + exiting occurs prior to cerr or cout is flushed properly. +Date: 2004 Oct 15 +Attributed: +Details: fixes (from dirty to clean) + 1/ force Win32 to flush it's buffer so at least the user gets some + reason why it's application exited (when called in command + environement). Note: it looks like the "cerr << flush" fails. Sigh. + 2/ within gdcm catch the exception, display a decent warning, and + return to caller. + 3/ see the comment below on how to enhance the API and fix things + really cleanly. +Comments: ENH proposal: + The caller migth not be aware of the path to the dictionaries + on invocation of gdcm (think this path is set by the Interface + because the caller wants to skip the default gdcm dictionary in order + to provide his own ones e.g. another language based one). + Hence, gdcm should postpone the parsing of the default dictionary + instead of doing it on library entry. + This would enable two things: + - It would give a chance to the caller to set the path to + the dictionaries he whishes to use, through a call to + newly created DictSet::SetDictionaryPath( string ). + - It would avoid the burden of using the GDCM_DICT_PATH + environnement variable and enable GDCM CONTROL FROM WITHIN + THE API. Optionaly, if the caller didn't use the API to + provide his prefered path, gdcm could still default to + GDCM_DICT_PATH... ----------------------------------------------------------------------------- +Description: vtk/vtkGdcmReader doesn't positionate the normal to the image +Date: 2004 Oct 1 +Attributed: +Details: vtkGdcmReader::CheckFileCoherence() sets the DataOrigin[i] + but doesn't set the plane (image seen in 3D) normal (is it + possible any how). This plane normal could be extracted from + the "orientation" info of the gdcmHeader ( refer to + grep "Orientation" Dicts/dicomV3.dic). + Problem exhibiting this defect: cine loop on a pile of images + whose Origin is correct, but whose normal is not set will + plainly suck ! +Comments: + * vtkGdcmReader inherits from vtkImageReader which aggregates + a vtkTranform. vtkGdcmReader could store (when the user requires + it, see below) the origin/normal taken from the Dicom Header + within this vtkTransform (looks like a natural place to store + this spacial information). + * Both settings of the origin and/OR the normal of the plane (image) + should be an option defined with a flag (On/Off) in the + vtkGdcmReader... ----------------------------------------------------------------------------- Description: Fix the Python wrappers Date: 2004 Sep 24 @@ -62,13 +210,15 @@ Description: fix definitively the memory leaks problems. Date: 2004 Sep 24 Attributed: Details: -Comments: +Comments: There is a nightly dashboard that run valgrind every night +(zorglub | GDCM-Linux-g++) ----------------------------------------------------------------------------- Description: test gdcm on a big endian OS. Date: 2004 Sep 24 Attributed: Details: -Comments: +Comments: There is a nightly dashboard that run on MacOSX each nite +(midworld.kitwarein | GDCM-DarwinG5-g++ ) ----------------------------------------------------------------------------- Description: More tests ! Date: 2004 Sep 24 @@ -82,10 +232,14 @@ Comments: Description: revoir la gestion des resources, win32 permet d'inclure des fichiers texte (=dicomV3.dic) dans une dll ou quelquechose du genre. Date: 2004 Sep 24 -Attributed: +Attributed: Mathieu Details: Comments: * Frog: no comprendo !? De plus est-ce portable ? + * To improve load time it could be usefull to have the dictionary directly in + 'c++' code or in a more binary format. + * This will also solve some issues where /dummy/ user did nor set + GDCM_DICT_PATH properly neither 'make install' ----------------------------------------------------------------------------- Description: Convert the C-like IO to C++ IO: Date: 2004 Jul 30 @@ -100,6 +254,9 @@ Comments: build or pass the proper FILE* to jpeg libs ? * Binary IO references are available at http://www.angelfire.com/country/aldev0/cpphowto/cpp_BinaryFileIO.html + * The internal API should be rewritten so that gdcm speaking to jpeg lib is + done with stream/string and not directly opened FILE* + * No stdio.h anymore anywhere tolerated ! ----------------------------------------------------------------------------- Description: generate methods based on VM. Date: 2004 Jul 30 @@ -121,13 +278,28 @@ Comments: two tags=(group, element) can share the same name]. What should the wrapper do in such a case !? * Frog: what does VM stand for ? + * VM = Value Multiplicity +----------------------------------------------------------------------------- +Description: Add information on supported imagers (constructor/model) +Date: 2004 9 7 +Attributed: +Details: in order to promote gdcm make a list (on the web pages) + of images successfully parsed based on a constructor/model ordering +Comments: * frog: gdcmData only lists pathological images. How to collect + the ones gdcm works smoothly with (hopefully gdcmData is a small + subset of what we would like). +----------------------------------------------------------------------------- +Description: Add a GetVersion() global function. +Date: 2003 july 7 +Attributed: +Details: This is to be used for version assertion with gdcmPython +Comments: +----------------------------------------------------------------------------- ----------------------------------------------------------------------------- * 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 @@ -147,7 +319,7 @@ Comments: would allow those method to avoid artificial calls to ElValue::GetElement(), ElValue::GetVR()... ----------------------------------------------------------------------------- -* Eat leanding_trailing_whitespace (found in python/gdcmPython/gdcmi) should +* Eat leading_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 @@ -192,3 +364,4 @@ Comments: a.write(output); } ----------------------------------------------------------------------------- +