[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