[Dcmlib] Nom des fichiers dans gdcmData

Jean-Pierre Roux Jean-Pierre.Roux at creatis.insa-lyon.fr
Wed Nov 17 21:32:39 CET 2004


>
>> Il y a dans
>> http://www.creatis.insa-lyon.fr/~jpr/PUBLIC/ForGdcmData
>> deux images :
>> MR_Philips_Intera_Broken.dcm
>> et
>> MR_Philips_Intera_Kosher.dcm
>> (la meme, convertie par les soins de Jean-Michel Rouet, de Philips)
>> et MR_Philips_Intera_Broken.README, R_Philips_Intera_Kosher.README
>
> Pourquoi qd je fais:
>
> PrintHeader MR_Philips_Intera_Broken.dcm > log1
> PrintHeader MR_Philips_Intera_Kosher.dcm > log2
>
> tkdiff / gvimdiff me dis que c'est different. C'est les meme images ou
> pas ? Qu'est-ce qui a ete modifie et comment ?

Jean-Michel a chargé l'image (...Broken) sur la console EasyVision 'la
seule de chez Philips qui sache lire ces images), la pousse par Dicom sur
une console ViewForum, et grave un CD a partir de cette console
(--> ...Kosher)
Elle contient les mêmes info, mais pas rangées de la meme maniere (le
group qui nous posait des pb passe en ImplicitVR, alors qu'il etait en
ExplicitVR, par exemple)
>
> Est-ce que MR_Philips_Intera_Broken.dcm c'est finalement pas la meme
> chose que PHILIPS_Intera-16-MONO2-Uncompress.dcm ?
>

C'est probablement la même, ou une de ses soeurs
(nous avons plein de CDROM avec de telles images)
Laisse tomber ...Broken

> ----------------
>
> Peter Cech vient de me faire remarquer que j'ai mal appliquer son patch.
> Dans HandleBrokenEndian, je passe par copie et non pas par reference.
> Donc les ligne marquees 'ne sert a rien' ne servent a rien dans mon
> patch. Est-ce que je dois changer ma fonction ou pas ? Est-ce que
> quelqu'un sait si les group/element sont aussi code en BigEndian et
> qu'il faut les changer ?

Les group/elements sont en Big Endian.
Le fait de switcher l'endianity est suffisant.
Tes lignes sont indiquées 'ne sert a rien', car, a la suite de je ne
trouve pas quoi, on n'affiche plus, lors de PrintHeader le Delimiter
d'Item.
Lorsqu'on l'affichera, il faudra rectifier fffe et e000 (mais pas en
variable locale, dans l'element lui même)

JPRx

>
> void Document::HandleBrokenEndian(uint16_t group, uint16_t elem)
> {
>     ...
>     if ((group == 0xfeff) && (elem == 0x00e0))
>     {
>       // start endian swap mark for group found
>       reversedEndian++;
>       SwitchSwapToBigEndian();
>       // fix the tag
>       group = 0xfffe;       //ne sert a rien
>       elem = 0xe000;        //ne sert a rien
>     }
>     ...
> }
>
>
> Merci
> Mathieu
>
>




More information about the Dcmlib mailing list