[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