[Dcmlib] gdcmFile

Eric Boix Eric.Boix at creatis.insa-lyon.fr
Sun Jun 20 02:10:04 CEST 2004


	Yo,

Quoting Mathieu Malaterre <mathieu.malaterre at kitware.com>:
> 	- J'en ai discute rapidement avec Eric, et la classe 
> 	gdcmHeaderHelper n'a rien a faire dans gdcm, tout peut etre (re)mis dans 
> gdcmHeader. Je suis volontaire pour buter cette classe.
Vas-y fonce ! Apres tout tu connais mieux l'API que nous ;-]

> 	- J'ai des problemes de fuites de memoire. Est-ce que je peux operer 
> quelque changements dans gdcmFile. Notement la var membre :
>    void*  PixelData
>Y'a beaucoup de copie ( a mon avis) que l'on peut eviter, par juste 
> renvoyer ce pointeur interne.
Ouaip. Et j'ai pas vraiment creuse' pour verifier, mais comme je 
l'ai note' dans Test/TestWriteSimple, l'appel a f2->GetImageData()
me semble vraiment maladroit en termes d'API... Et je serais pas
etonne' que les choses soient lie'es.

>             * A faire des memcpy plutot que de renvoyer directement le 
> pointeur ? Et dans ce cas c'est a l'application externe qui utilise le 
> pointeur de le copier (avant de detruire gdcmFile).
Ben, en theorie l'API devrait permetre les deux (c'etait le "design"
initial):
 - soit l'appelant fait l'allocation et ensuite appelle 
   size_t GetImageDataIntoVector(void* destination, size_t MaxSize);
   size_t GetImageDataIntoVectorRaw(void* destination, size_t MaxSize);
 - soit l'appelant laisse gdcm faire l'allocation et ensuite invoque
   void * GetImageData();
   void * GetImageDataRaw();

Sinon void* ou char* ou uchar*, j'ai pas d'opinion, si ce n'est que
void* me semble plus neutre (mais bon, sincerement je ne sais pas
faire de difference semantique sur cette simple declaration: bouh).

   Bonne fin de ouikend.
	Frog.



More information about the Dcmlib mailing list