Hey Stu, it is good to hear from you!
Running out of memory still seems the likely culprit.
Paul, what does that message, " +++ Arranging 3 images (each 416x560) into a 3x1 matrix." imply?
Does it imply the relevant dataset covers 416 x 560 voxels? And would that mean there is a big origin shift?
My interpretation is that the "killed" operation (from the operating systems) should be more common on shared clusters, where if it detects that if a process is using too much RAM, it is killed. That suggests that the program memory allocation succeeds, but then the OS decides *after the fact* that the process is using too much RAM and kills it. More commonly on smaller, personal systems, the actual memory allocation fails, and then the program tries to dereference the resulting NULL pointer and crashes with a seg fault for accessing invalid memory. It seems likely that this SIGSEGV crash is still from a lack of RAM.
Indeed, using 4 CPUs might multiply RAM usage by 4. How much RAM does this machine have?
Consider dropping OMP_NUM_THREADS to 1 or 2, and see what effect that has. And as Paul suggests, close other greedy programs (like Office tools).
- rick