[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