[Insight-users] DemonsRegistrationFilter memory leak?

Luis Ibanez luis.ibanez at kitware.com
Wed Sep 29 13:48:50 EDT 2004



Hi Vincent,

Memory leaks should in principle show up in our daily
Purify builds. Nothing seems to be reported for the
DemonsRegistration filter, as you can see from the most
recent Purify build:

http://www.itk.org/Testing/Sites/moxel2.crd/WinNT-VC++60/20040927-0500-Nightly/DynamicAnalysis.html

You probably can speed up a lot your registration
by considering the following issues:

1) Did you compiled your code for "Release" ?
    Just that could give you up to a factor of
    10X in execution time.

2) When you attempt to use Demons in 3D image
    you usually want to do this in a multi-resolution
    framework, especially if you exect to find large
    deformations.

3) The number of matchnig points that you set up
    in the histogram (10,000) seems to be excesive.
    Is there a particular reason why you decided to
    go that far ?
    What is the pixel type of your images  ?

4) When you are using CT scans you usually don't
    need the HistogramIntensity correction at all.
    Intensigy correction is mostly oriented to MRI
    images that tend to have arbitrary scalings in
    intensity.  CT on the other hand are usually
    in Hounsfield units. That should result in
    similar tissues having similar intensities in
    both images.  I would suggest you to skip the
    intensity correction between the two CT images
    unless you are using images that are not calibrated
    in Hounsfield units.


The memory usage of 1.4Gb seems excesive, but in practice
it depends of how many things you put together in the pipeline.
Note that the deformation field for that image size will have
an image of Vectors with double or float component type, that
alone will take about 230Mb...


   Please let us now more details of what you are doing.


     Regards,


       Luis


---------------------------
Vincent.Luboz at imag.fr wrote:

> Hi itk users
> 
> I'm using the itkHistogramMatchingImageFilter combined with the 
> itkDemonsRegistrationFilter to match 2 sets of 3D CT scans. The first one is 
> an object and the second one is the same object but slightly deformed (it is 
> an elastic deformation induced by a load on the object).
> I used the example given in the itkDemonsRegistrationFilterTest file to used 
> this matching algorithm and my program is a copy of it (except the variable 
> values).
> The transformation resulting from the matching seems fine but it takes a 
> really long time to compute. For example it took 24 hours for matching my 2 
> data sets (both of them have a size of 20Mo and 512x512x36 in pixel size) with 
> 10000 points for the histogram, only 20 iterations for the demon algorithm and 
> a sigma of 5 (to smooth the result since I only asked for 20 iterations).
> Is it normal that it takes that long?
> I was thinking that it may be due to a memory leak of the demon algorithm 
> since when I run my program, it starts by reading the 2 data sets, so the 
> memory increases by 40 Mo but them it keeps increasing until reaching a memory 
> usage of 1.4Go!!
> Is it normal? What can I do to avoid that or to get the result faster?
> 
> Thanks in advance for your help,
> 
> Vincent.
> 
> 
> -------------------------------------------------
> envoyé via Webmail/IMAG !
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 
> 






More information about the Insight-users mailing list