[Dcmlib] Suite

Jean-Pierre Roux Jean-Pierre.Roux at creatis.insa-lyon.fr
Wed Oct 8 12:04:40 CEST 2003


>
> http://www.dclunie.com/medical-image-faq/html/part1.html
> [The last part of a data element is its value, which is defined by the
> data dictionary to be an ascii (numeric AN or text AT) or binary value
> (BI 16 bit or BD 32 bit). The values may be single or multiple. Multiple
>  ascii values are delimited by the backslash (05CH) character. Odd
> length  ascii values are padded with a space (020H).]

Oops.
La remarque de Davis Clunie date du temps béni (ACR-NEMA era) où les
champs etaient soit binaires, soit ASCII...
Actuelement, ils sont de type :
   vr["AE"] = "Application Entity";    // At most 16 bytes
   vr["AS"] = "Age String";            // Exactly 4 bytes
   vr["AT"] = "Attribute Tag";         // 2 16-bit unsigned short integers
   vr["CS"] = "Code String";           // At most 16 bytes
   vr["DA"] = "Date";                  // Exactly 8 bytes
   vr["DS"] = "Decimal String";        // At most 16 bytes
   vr["DT"] = "Date Time";             // At most 26 bytes
   vr["FL"] = "Floating Point Single"; // 32-bit IEEE 754:1985 float
   vr["FD"] = "Floating Point Double"; // 64-bit IEEE 754:1985 double
   vr["IS"] = "Integer String";        // At most 12 bytes
   vr["LO"] = "Long String";           // At most 64 chars
   vr["LT"] = "Long Text";             // At most 10240 chars
   vr["OB"] = "Other Byte String";     // String of bytes (vr independant)
   vr["OW"] = "Other Word String";     // String of 16-bit words (vr dep)
   vr["PN"] = "Person Name";           // At most 64 chars
   vr["SH"] = "Short String";          // At most 16 chars
   vr["SL"] = "Signed Long";           // Exactly 4 bytes
   vr["SQ"] = "Sequence of Items";     // Not Applicable
   vr["SS"] = "Signed Short";          // Exactly 2 bytes
   vr["ST"] = "Short Text";            // At most 1024 chars
   vr["TM"] = "Time";                  // At most 16 bytes
   vr["UI"] = "Unique Identifier";     // At most 64 bytes
   vr["UL"] = "Unsigned Long ";        // Exactly 4 bytes
   vr["UN"] = "Unknown";               // Any length of bytes
   vr["US"] = "Unsigned Short ";       // Exactly 2 bytes
   vr["UT"] = "Unlimited Text";        // At most 2^32 -1 chars

Ca rique de faire qq chose d'assez trognon pour tester si la longueur d'un
champ doit etre forcée a la valeur paire superieure ou non.
A priori, *tous* les champs sont pairs.
J'ai fait la modif en considerant ça comme acquis.
Si ca pose des pb, je ferai le test complet (bonjour l'overhead ...)

JPRx

>
>> Ma question va donc concerner le fond du probleme : est ce a l
>> utilisateur de normaliser ses longueurs ou est ce que gdcm doit le
>> faire  lors de l ecriture de l'en tete ?
>
> Judicieuse remarque. gdcm devrait etre capable de rajouter des espaces
> AMHA.






More information about the Dcmlib mailing list