[Dcmlib] [Fwd: Re: Lecture / Ecriture DICOM #2]
Mathieu Malaterre
mathieu.malaterre at kitware.com
Wed May 5 19:46:43 CEST 2004
Va falloir etre patient je peux pas me connecter a tux:
$ cvs up -dPA
~/Creatis/malaterre/gdcm
cvs [update aborted]: connect to
cvs.creatis.insa-lyon.fr(195.220.108.5):2402 failed: Connection refused
Merci du patch
Mathieu
Jean-Pierre Roux wrote:
>
>
> Mathieu Malaterre wrote:
>
>> 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:
>
>
> En effet !
> Il y a un flag de nom PixelRead, positionné à -1 dans le constructeur du
> gdcmFile qui signale si les Pixels ont été lus ou non, pour éviter qu'un
> mal dégourdi n'essaye de ré-écrire une image sans avoir lu les pixels.
>
> Il y a un maldégourdi qui a oublié de passer ce flag à 1 dans
> SetImageData. cxx
>
>
> bool gdcmFile::SetImageData(void * inData, size_t ExpectedSize) {
> Header->SetImageDataSize(ExpectedSize);
> PixelData = inData;
> lgrTotale = ExpectedSize;
>
> PixelRead = 1; // A RAJOUTER.
>
> return(true);
> }
> Pourrais-tu faire la modif et la commiter si ça marche (je suis en
> pleine phase de modifs cataclysmiques, je ne veux pas prendre le rique
> de faire un commit sur des fichiers 'actifs')
>
> Thx
>
>>
>>
>>
>> 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 {
>> for(int j=0; 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
>>
>>
>
>
>
>
> _______________________________________________
> 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