[Dcmlib] (no subject)

Jean-Pierre ROUX jean-pierre.roux at creatis.insa-lyon.fr
Tue Mar 22 22:08:57 CET 2005



J'ai rajoute une feature qui permettra, lorsqu'elle est applicable, 
de gagner (un peu) de temps CPU et d'espace RAM.

On peut creer un gdcm::File vide

gdcm::File *f = new gdcm::File();
et lui preciser
f->SetLoadMode(NO_SEQ | NO_SHADOW);
f->Load(fileName);

Lorsque c'est possible, c'est a dire si la Sequence a une longueur 
effective -et pas 0xffffffff -, ou le Shadow Group a un element 
0x0000 -qui contient la longueur du groupe-, on le saute au parsing.
(si on voulait faire la même chose pour les sequences en 'delimitor 
mode', il faudrait reprogrammer les entrailles du parsing recursif, 
et on serait de toute façon oblige de faire tout le boulot + des 
tests supplémenataires pour dertminer si on garde ou non l'Entry 
qu'on vient de creer -> temps de traitement supplémenatire !)

Il reste a 'propager' cette info dans les methodes hautement 
consommatrices de file parsing (DicomDir avec exploration d'un 
Directory, SerieHelper, etc).

Il ne faut toutefois pas s'attendre a un 'effondrement' du temps de parsing.

J'avais envisage de faire un constructeur de SerieHelper qui 
prendrait en parametre un DICOMDIR (qui contient toutes les info 
necessaires à ordonner les images).
Mais, dans le cas qui pose un pb, (Maracas sur des series de 700 
images) ca ne changerait rien du tout :
l'affichage Patient/Study/Serie dans le file browser se fait deja a 
partir du DICOMDIR. Lorsque le medecin a selectionne LA serie qui 
l'interesse, on est bien obligés de parser tous les fichiers pour les 
afficher.

Est-ce que ca aurait un sens de stocker, en plus, dans le DICOMDIR, 
l'offset des pixels afin que l'utilisateur puisse les lire 
directement sans se taper (une fois de plus) le parsing?
Manu avait fait un truc comme ça, me semble-t-il, en rangeant toutes 
les info nécessaires à une relecture directe (sans parsing), dans sa 
Base de Données, c'est bien ça?

Mais c'etait a l'epoque ou nous n'avions pas d'images compressées.
Si on voulait refaire la manip, il faudrait rendre visible les 
mécanismes de décompression. C'est toujours ça?

Any comment?

On pourrait egalement imaginer, lors de la fabrication du DICOMDIR a 
partir du parsing d'un root directory, de trier les images avec le 
même critere que SerieHelper, afin d'economiser le temps de tri 
-d'ordre o(n carre)-, lors des lectures suivantes.

??
JPRx



  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