[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