[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