[Dcmlib] Big Endian suite: images compressees

Mathieu Malaterre mathieu.malaterre at kitware.com
Wed Jan 12 18:43:16 CET 2005


Sh*t l'image D_CLUNIE_CT1_JPLL.dcm ne passe pas(*). Et pourtant c'est 
exactement le meme type que  012345.002.050.dcm

Je vais essayer de faire un diff sur PrintHeader entre les deux, mais 
sinon qlqun connait la difference entre les deux ?

Mathieu
(*) avant ET apres mon patch dans gdcmJpeg.cxx

Mathieu Malaterre wrote:
> 
>>>  TransferSyntaxName= [JPEG Lossless, Non-Hierarchical, First-Order 
>>> Prediction (Process 14 [Selection Value 1])]
>>>  SwapCode= 4321
>>> Je viens de faire un 'grep -ri endian' dans libjpeg et je trouve 
>>> rien. Donc mon flux jpeg est lu correctement (le SwapCode gdcm est 
>>> bon). Mais la decompression me donne une image codee en little endian...
>>
>>
>>
>> Un appel brutal a 'ConvertSwapZone()' devrait resoudre le bouzin, non?
> 
> 
> Ben non justement le ConvertSwapZone me "re"swappait mon image.
> 
> dans gdcmJpeg.cxx:
> 
> // The ijg has no notion of big endian, therefore always swap the jpeg 
> stream
> #if defined(GDCM_WORDS_BIGENDIAN) && (CMAKE_BITS_IN_JSAMPLE != 8)
>       uint16_t *buffer16 = (uint16_t*)*buffer;
>       uint16_t *pimage16 = (uint16_t*)pimage;
>       for(int i=0;i<rowsize/2;i++)
>         pimage16[i] = (buffer16[i] >> 8) | (buffer16[i] << 8 );
> #else
>       memcpy( pimage, *buffer,rowsize);
> #endif //GDCM_WORDS_BIGENDIAN
> 
> 
> Mathieu... Sun / et Mac sont en train de me refaire un dashboard mais 
> deja mon image qui me cassait les choses passe maintenant :))
> 
> 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