[Insight-users] DeformableRegistration8.cxx std::bad_alloc

Ruben Schilling r.b.schilling at googlemail.com
Sat Mar 17 13:52:48 EST 2007


Hi,

I am using the DeformableRegistration8.cxx example to test  
registration on image volumes using Mutual Information. I have a  
problem though:

The program crashes with this error message
 >>>>>>>>>>
Starting Registration
terminate called after throwing an instance of 'std::bad_alloc'
   what():  St9bad_alloc
Aborted
<<<<<<<<<<

 From the message I can see, that the application ran acutually at  
least until line 359 in the Code of DeformableRegistration8.cxx

The volumes, that I try to register are large: 8bit grayscale, but  
about 400x500x300 pixels in Volume each. They are stored as Tif  
stacks. I am aware, that this requires a lot of memory, but I have  
compiled the DeformableRegistration8.cxx and all of ITK etc. as 64bit  
(see output of 'file' command)

ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/ 
Linux 2.6.0, dynamically linked (uses shared libs), not stripped

The Linux computer I use has 64 Gigabyte of RAM (and I am currently  
the only user on it), thus I can't believe I would not have enough  
memory at all. So what's the matter with DeformableRegistration8.cxx?

Can anybody help? Any suggestions? Does the implementation of  
MutualInformation have numerical problems? Actually from the error  
message I would have assumed, that it is an error related to the  
'new' operator. Looking with top at the memory usage using a fast  
update, I had seen, that the registration just crashed after  
assigning about 300-400 MByte of memory.

I would be grateful (and curious about the solution) for any help on  
this matter, since I really need deformable multi-modal registration  
on this data.

Ruben


More information about the Insight-users mailing list