First I had many issues to find a version that allowed the SlicerElastix downloading.
Now when I put my inputs brain files and output + specify the active volume and the lookup table + click on “apply”, Elastix it not able to compute the results and send back the following error message :
“Command ‘elastix’ died with <Signals.SIGABRT: 6>.”
details:
Traceback (most recent call last):
File “/Applications/Slicer.app/Contents/bin/Python/slicer/util.py”, line 3146, in tryWithErrorDisplay
yield
File “/Applications/Slicer.app/Contents/Extensions-32158/SlicerElastix/lib/Slicer-5.5/qt-scripted-modules/Elastix.py”, line 241, in onApplyButton
self.logic.registerVolumesUsingParameterNode(self._parameterNode)
File “/Applications/Slicer.app/Contents/Extensions-32158/SlicerElastix/lib/Slicer-5.5/qt-scripted-modules/Elastix.py”, line 518, in registerVolumesUsingParameterNode
self.registerVolumes(
File “/Applications/Slicer.app/Contents/Extensions-32158/SlicerElastix/lib/Slicer-5.5/qt-scripted-modules/Elastix.py”, line 564, in registerVolumes
self.logProcessOutput(elastixProcess)
File “/Applications/Slicer.app/Contents/Extensions-32158/SlicerElastix/lib/Slicer-5.5/qt-scripted-modules/Elastix.py”, line 499, in logProcessOutput
raise subprocess.CalledProcessError(return_code, “elastix”)
subprocess.CalledProcessError: Command ‘elastix’ died with <Signals.SIGABRT: 6>.
Chat GPT says that it’s an error inside the python script, I don’t know how to access it. And I need this data processing step for my research.
I have the same issue (also on MacBook). The log window says it cannot find libomp.dylib. I have installed that one using Homebrew, but Slicer is not looking for it in the Homebrew directories but in the extension directory and /usr/lib, /usr/local/lib
Thank you, this explains it. OpenMP is a pain. You probably have dozens of mostly incompatible variants on your system. Elastix should not try to use that are on your system, because most likely they will not work (because they are probably not the same version as the one used when building Elastix).
A workaround that you can apply immediately is to download Elastix binaries (or build Elastix on your system) and specify that path in the Advanced section of the Elastix module in Slicer.
The root cause of the issue could be fixed by bundling libopenmp.dylib with the SlicerElastix extension or disabling OpenMP when building the extension. Your can monitor the status of the fix here: