[Dcmlib] [Fwd: GDCM problems with created dicom]

Jean-Pierre ROUX jean-pierre.roux at creatis.insa-lyon.fr
Sat Dec 18 00:20:06 CET 2004


At 11:37 -0500 17/12/04, Mathieu Malaterre wrote:
>Jean-Pierre Roux wrote:
>>Mathieu Malaterre wrote:
>>
>>>Bon j'ai aussi virer (0x0000, 0x0000) ...
>>
>>
>>Le pb sera de voir si Dicom3Tools passe, maintenant, et si efilm accepte ˆßa.
>>As-tu demande a Bill une image qui pete chez lui?
>
>ouch c'etait pas le probleme des champs 0x0002 ...


============================

>dcdump 88_20_0.0625_1.dcm
>you get an error messages that includes the phrase
>Assertion `bitsallocated <= bytesinword*8u' failed

============================

il ajoute :

>>I have tried to track things down further, and there is trouble
>>in the 0x0002 area.

>.bitsAllocated je sais ce que c'est mais bytesinword c'est quoi ?

Compte tenu de la multiplication par 8 et du nom, on peut penser que 
c'est le nombre d'octets pour un pixel ?!?

>
>Et dans ITK je fais:
>
> switch (this->GetComponentType())
>    {
>    case CHAR:
>      bitsAllocated = "8"; // Bits Allocated
>      bitsStored    = "8"; // Bits Stored
>      highBit       = "7"; // High Bit
>      // 8bits DICOM cannot be signed
>      pixelRep      = "0"; //Pixel Representation
>      break;

As-tu lu que "8bits DICOM cannot be signed", ou bien c'est parce 
qu'on n'en a jamais vu nulle part?

>
>    case UCHAR:
>      bitsAllocated = "8"; // Bits Allocated
>      bitsStored    = "8"; // Bits Stored
>      highBit       = "7"; // High Bit
>      pixelRep      = "0"; //Pixel Representation
>      break;
>
>    case SHORT:
>      bitsAllocated = "16"; // Bits Allocated
>      bitsStored    = "16"; // Bits Stored
>      highBit       = "15"; // High Bit
>      pixelRep      = "1"; //Pixel Representation
>      break;
>
>    case USHORT:
>      bitsAllocated = "16"; // Bits Allocated
>      bitsStored    = "16"; // Bits Stored
>      highBit       = "15"; // High Bit
>      pixelRep      = "1"; //Pixel Representation
>      break;
>
>    default:
>      itkExceptionMacro(<<"DICOM does not support this component type");
>    }
>
>En creusant un peu dans google je trouve:
>
>http://groups-beta.google.com/group/comp.protocols.dicom/browse_threa 
>d/thread/5393f923405c0ac/1ebfa5cc09cb649f
>
>Je pense que le probleme viens du fait que dans ITK je construit 
>from scratch mon image:
>
>h = new gdcmHeader
>for i in :
>  h.ReplaceOrCreateByNumber( itk_dict[i] )
>
>f = new gdcmFile
>f.SetHeader(h)
>f.SetImageData( itk_buffer )
>
>f.Write()
>
>Ce qui doit se passer c'est que je copie aveuglement un Transfer 
>Syntax qui ne correspond pas a un header d'image DICOM raw...

Qu'est ce que tu appelles une image DICOM raw?

>
>Mathieu
>Ps: vivement que je update gdcm dans ITK...
>
>
>_______________________________________________
>Dcmlib mailing list
>Dcmlib at creatis.insa-lyon.fr
>http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib

  Jean-Pierre ROUX
  UMR CNRS 5515-CREATIS
  Laboratoire de Radiologie Experimentale
  Hopital Cardiologique
  28 Avenue du Doyen LEPINE
  B.P. Lyon-Montchat
  69394 Lyon Cedex 03

  Tel      : (+33) 04 72 35 74 12
  Fax      : (+33) 04 72 68 49 16
  URL      : http://www.creatis.univ-lyon1.fr
  e-mail   : jpr at creatis.univ-lyon1.fr
								   




More information about the Dcmlib mailing list