[Dcmlib] Add the method Util::IsCurrentProcessorBigEndian

Jean-Pierre Roux jpr at creatis.insa-lyon.fr
Thu Jan 6 21:19:37 CET 2005


Mathieu Malaterre wrote:

> JP,
>
>     A quoi ca sert Util::IsCurrentProcessorBigEndian ? Dans tout le 
> reste du code gdcm on utlise: GDCM_WORDS_BIGENDIAN. Ca permet de faire 
> des ifdef et donc au runtime on a plus besoin de tester...


On aura a s'en servir ...
Actuellement, on regarde seulement si l'endianity du processeur sur 
lequel on travaille est la meme que celle de celui qui a fabriqué les 
images (on observe le numero de groupe, et on voit si on 'lit' 0x0002 ou 
0x0200.
On sait alors si on doit ou non swapper les bytes.

J'etais tout a fait oppose a ce nom GDCM_WORDS_BIGENDIAN, car il est 
confusioniste.
Ca marchait, et on s'en tappait .
Parfait.

On SAIT que gdcm va casser lorsqu'on aura de l'Explicit Big Endian.
En effet, le groupe 0002 est TOUJOURS codé en LittleEndian, et c'est la 
Transfert Syntax qui nous dit comment est code tout le reste ...

Avec NOTRE heuristique, on considerera TOUS les fichiers 'true' DICOM 
comme du Little Endian (on ne teste jamais la Transfert Syntax au cours 
du Parsing)

Il faudra le faire ... et, a ce moment, il faudra connaitre l'endiannity 
du current processor pour savoir si on swappe ou non les bytes.

C'est pour pouvoir tester le code - non commité - que j'avais demande si 
qq'un avait des images true Dicom, Big Endian

JP

>
> Merci
> Mathieu
>
>
> _______________________________________________
> Dcmlib mailing list
> Dcmlib at creatis.insa-lyon.fr
> http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
>



More information about the Dcmlib mailing list