[Dcmlib] Incoherence de longueur de champ : ReadLength vs UsableLength
Jean-Pierre ROUX
jean-pierre.roux at creatis.insa-lyon.fr
Sat Nov 6 01:14:41 CET 2004
At 13:49 -0500 5/11/04, Mathieu Malaterre wrote:
>
>On dirait qu'il y a deux length pour un doc entry:
>
>
> /// \brief Updated from ReadLength, by FixFoungLentgh() for fixing a bug
> /// in the header or helping the parser going on
> uint32_t UsableLength;
>
> /// \brief Length actually read on disk (before FixFoundLength). ReadLength
> /// will be updated only when FixFoundLength actually fixes a bug in the
> /// header, not when it performs a trick to help the Parser going on.
> uint32_t ReadLength;
ReadLength est la longueur lue sur disque, et qui n'est jamais
modifiée, sauf bug avéré (ex : images GE, dans lesquelles 2 champs
annoncent une longueur de 13, alors qu'elle n'est que 10 sur disque;
ex : images Siemens Leonardo, même combat)
A contrario Theralys annocait une longueur de 13, il y vait 13 caract
sur disque, on ne touchait a rien.
(Lors d'un reecriture, on passait la chaine a 14 caract, et on annoncait 14)
UsableLength est la longueur qui sera utilisée lors du parsing du Header.
C'est soit la ReadLength, soit zéro (ex : champs de VR = "SQ", la
longueur est, soit FFFFFFFF -'No Length' Dicom Sequence, soit la
longueur totale de la Sequence. dans les 2 cas, on la met à Zero,
pour explorer l'intérieur de la Sequence)
>
>Est-ce que je peux 'lire' Theralys en mettant UsableLength a 13
Ca depend a quel moment tu veux faire ca.
Le ReadLength a 13, il faut le garder pour le parsing de l'entete.
Mais tu peux corriger la chaine (padder avec un space ou un \0) ert
mettre UsableLength a 14
>et ReadLenght a 14 ou quelquechose du genre ?
>
>Merci
>Mathieu
>
>
>_______________________________________________
>Dcmlib mailing list
>Dcmlib at creatis.insa-lyon.fr
>http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
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