[Dcmlib] makeDicomDir: FILE sur un repertoire

Jean-Pierre ROUX jean-pierre.roux at creatis.insa-lyon.fr
Thu Jan 13 08:09:44 CET 2005


At 17:22 -0500 12/01/05, Mathieu Malaterre wrote:
>J'ai tourner debugon pour makeDicomDir et voila ce que j'obtiens sur Win32:
>
>Test project
>Changing directory into c:\Dashboards\My Tests\gdcmVS60\Test
>  1/  1 Testing makeDicomDir
>Test command: "C:\Dashboards\My 
>Tests\gdcmVS60\bin\Debug\gdcmTests.exe" makeDicomDir
>Debug: In c:\Dashboards\My Tests\gdcm\src\gdcmDocument.cxx, line 
>349, function <unknow>
>Last system error was: Permission denied
>Cannot open file: C:/Dashboards/My Tests/gdcmData
>
>Verbose: In c:\Dashboards\My Tests\gdcm\src\gdcmDicomDir.cxx, line 
>93, function <unknow>
>Entry HT empty
>
>On essai de faire un
>new ifstream( "nom de repertoire" )

C'est le constructeur de DicomDir qui est un peu sauvage (mais je ne 
sais pas comment faire autrement) :on lui passe, soit un nom de 
fichier (un DICOMDIR a decortiquer) soit un nom de repertoire (a 
explorer recursivement).
La difference se fait par le booleen parseDir.

Mais quand on peut le tester dans le constructeur, c'est trop tard : 
le constructeur de Document (classe parent de DicomDir) a deja ete 
executé.

Dans le cas ou on lui a passe un directory, rien n'a marché, et la H 
Table est vide ...

On aurait pu, dans le constructeur de Document, tester si ce qu'on a 
passe est ou non un fichier, avant de faire le boulot.
Ca aurait rajoute de l'overhead, pour tester un cas relativement rare :
 - d'une part il y a, normalement, bien plus de fichiers que de 
directories, dans une arborescence
 - d'autre part, l'immense majorite des appel du constructeur de 
Document, c'est pour des images Dicom, et non pas pour 'fabriquer' un 
fichier DICOMDIR.

>
>ca marche ca ? En C, on peut faire un FILE sur un repertoire ?

On peut.
Mais aucune des fonctions de fichiers ne marchera (normal ...)

>
>Mathieu

  Jean-Pierre ROUX
  UMR CNRS 5515-CREATIS
  Laboratoire de Radiologie Experimentale
  Hopital Cardiologique
  28 Avenue du Doyen LEPINE
  B.P. Lyon-Montchat
  69394 Lyon Cedex 03

  Tel      : (+33) 04 72 35 74 12
  Fax      : (+33) 04 72 68 49 16
  URL      : http://www.creatis.univ-lyon1.fr
  e-mail   : jpr at creatis.univ-lyon1.fr
								   




More information about the Dcmlib mailing list