[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