[Dcmlib] Lecture / Ecriture DICOM #2

Mathieu Malaterre mathieu.malaterre at kitware.com
Wed May 5 16:32:18 CEST 2004


Ok,

	J'ai enfin elucide le mystere de l'ecriture DICOM ici, y'avait deja un 
probleme pour l'entete DICOM (j'ai du remplacer un calloc par un new, et 
pas faire un memset apres)

	Mais le plus important c'est qu'il faut appeler 
gdcmFile::GetImageData() pour que ca marche et je ne comprends pas bien 
pourquoi:


   gdcmHeader *header = new gdcmHeader( "foo.dcm" );
   gdcmFile   *file = new gdcmFile( header );


   file->GetImageData(); //EXTREMELY IMPORTANT ??

   unsigned short *imageData = new unsigned short[x*y];
   unsigned short *begin = imageData;
   for(int i=0; i<x;i++)
     {
     for(int j=0; j<y;j++)
       {
       if( i == j || (i+1) == j || (i-1) == j)
         *begin++ = 0;
       else
         *begin++ = 255*255;
       }
     }

   file->SetImageData(imageData, dataSize);
   file->WriteDcmExplVR( filename2 );


ca ca ne marche que si j'appelle GetImageData ? Je comprends pas vu que 
je n'utilise pas l'image, est-ce qu'il y a une methode plus appropriee 
que celle la et qui fais que l'ecriture marche qd meme ?

Merci
Mathieu





More information about the Dcmlib mailing list