[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