[Insight-users] itk.PyBuffer memory leak
Gaëtan Lehmann
gaetan.lehmann at jouy.inra.fr
Thu May 14 03:12:45 EDT 2009
Le 13 mai 09 à 10:35, Rick Giuly a écrit :
>
> I've now tested invoking garbage collection with gc.collect() at
> every iteration and that didn't change the problem. So, my best
> guess would be that the image is not deleted when the python object
> is destroyed. Maybe a bug?
Maybe - can you file a bug on ITK's bug tracker and assign it to me?
I'll try to find a bit of time to investigate this in the next days.
>
>
>
> Gaëtan Lehmann wrote:
>> Hi Rick,
>> GetImageFromArray() returns a smart pointer to an image, so the
>> image should be deallocated once the python object is destroyed.
>> Perhaps the problem is there: the garbage collection my not run
>> fast enough.
>> The right way to go may be to implement PyBuffer as a filter which
>> reuse the output image, as all the filters in itk.
>> For the Delete() method: you shouldn't use it in python (and I
>> can't see any case for use it but the internal memory management in
>> c++). In the latest version of wrapitk (the one hosted at
>> googlecode), Delete() and the other methods related to smart
>> pointers are hidden.
>> Regards,
>> Gaëtan
>> Le 11 mai 09 à 05:43, Rick Giuly a écrit :
>>>
>>> Hello All,
>>>
>>> It seems that converter.GetImageFromArray(inputNumpyVolume)
>>> allocates memory in some way and never releases it. When I tried
>>> using Delete() the program actually crashed silently after one
>>> iteration.
>>>
>>> Test code is below. (I'm running this on ubuntu, and the itk
>>> package is from Paul Novo's site.)
>>>
>>> Is there some way to release memory?
>>>
>>>
>>>
>>> import itk
>>> import numpy
>>>
>>> for i in range(10000):
>>>
>>> print i
>>>
>>> ImageType = itk.Image[itk.F, 3]
>>> converter = itk.PyBuffer[ImageType]
>>>
>>> inputNumpyVolume = numpy.ones((100, 100, 200))
>>> inputVolume = converter.GetImageFromArray(inputNumpyVolume)
>>> #inputVolume.Delete()
>>>
>>>
>>>
>>> ----------
>>> Thanks,
>>> --Rick
>>> _____________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the ITK FAQ at: http://www.itk.org/Wiki/ITK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.itk.org/mailman/listinfo/insight-users
>
--
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
http://voxel.jouy.inra.fr http://www.mandriva.org
http://www.itk.org http://www.clavier-dvorak.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: Ceci est une signature ?lectronique PGP
URL: <http://www.itk.org/pipermail/insight-users/attachments/20090514/cd8ad1ee/attachment.pgp>
More information about the Insight-users
mailing list