[Dcmlib] Incoherence de longueur de champ

Eric Boix Eric.Boix at creatis.insa-lyon.fr
Fri Nov 5 10:09:25 CET 2004


	Yo,

> 0008|0050 lg :       x(2) 2        Off.:     x(1bc) 444     [SH] 
>                                            [Accession Number] []
> 
> Mais j'ai beau chercher il ne passe pas dans LoadDocEntry. Comment a 
> partir d'un group element je trouve a quoi il correspond (DocEntry, 
> ValEntry, SeqEntry ... )

Morceaux choisis de void Document::ParseDES():

{
   ...
   if ( vr != "SQ" )
   {
      if ( Global::GetVR()->IsVROfGdcmStringRepresentable(vr) )
      {
         /////////////////////// ValEntry
         ValEntry* newValEntry = new ValEntry(...);
         ...
      } else {
         //////////////////// BinEntry or UNKOWN VR:
         BinEntry* newBinEntry = new BinEntry(...);
      }
      ...
   } else {
      // VR = "SQ"
      SeqEntry* newSeqEntry = new SeqEntry(...)
      ...
   }          
   ...
}

Moralite':
  * si vr = 'sq' c'est une sequence (et on recurse).
  * si vr est "StringRepresentable" c'est une ValEntry (on interprete
    les donnees binaires comme un string),
  * si vr n'est pas "StringRepresentable" c'est donc du binaire

A noter que pour un (group, element) qui n'est pas dans le dictionaire
la VR est dans le fichier...

C,a va ?

	Frog.



More information about the Dcmlib mailing list