[Dcmlib] Lecture/Decompression des multiframes]
Jean-Pierre ROUX
jean-pierre.roux at creatis.insa-lyon.fr
Tue Apr 26 08:48:28 CEST 2005
At 18:23 -0400 25/04/05, Mathieu Malaterre wrote:
[...]
>
>>La derniere version du diagramme de classes pour décrire l'entete
>>ne me choque plus.
>>En revanche, la partie 'lecture/decompression' devra probablement
>>etre entierement réécrite.
>>Vouloir lire *tout* le fichier d'un seul coup, c'est du pur délire !
>>Lorsqu'on aura des multiframes de 2 Giga Octets, comme ceux de
>>Jean-Michel Rouet
>>(on en a deja, de plus petits, de 200 MegaOctets), il faudra bien
>>qu'on fasse du frame by frame reading, pour permetre a
>>l'utilisateur de de garder *lors de la lecture* que les frames dont
>>il a besoin (et pas une fois que tout est lu ...).
>>Et la, ca va secouer ...
>
>
>Exact je n'y avais pas pense mais tu as parfaitement raison. Dans le
>cas d'image de ce type il faut pouvoir faire qlq chose du genre:
>
>
>gdcm::File f(); //vide
>s.SetVolumeOfInterest(0,512,0,512,0,10);
>
>try
> f.Read()
>catch
> cerr << "Echec lors de la lecture"
C'est une des possibilités.
Ca suppose que tu as une connaissance a priori de ce qui t'interesse
dans le multiframe.
On peux egalement penser a des methodes
GetFirstFrame(), GetNextFrame()
qui rendent la main a l'utilisateur.
Il pourra ainsi, par exemple, incrementer sa barre de progression, ou
afficher le frame qui vient d'etre lu (important quand on a une
lecture *vraiment* longue -et puis : pas de raison qu'on fasse moins
bien que DicomWorks ...-),
ou alors, decider, au vu du contenu du frame courant, que ce frame ne
l'interesse pas, et qu'il desalloue les pixels.
Mais ton idée, surement plus simple a realiser (on ne rend pas la
main a l'utilisateur, qui risquerait d'oubler de terminer son
processus de lecture, et laisserait le fichier ouvert) resoudrait le
pb de la place mémoire en ne chargeant pas les frames non souhaités.
JPRx
>
>C'est vraiment important de faire le VRAI traitement en dehors de la
>construction de l'image IMHO.
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