Comments (21)
@jcfr could you have a look? Maybe there are still some packaging errors on mac? We saw a similar problem yesterday on a SlicerMorph workshop participant's xomouter: ModelToModelDistance was failing with this error on an M2 (Slicer-5.4 with latest extension).
from slicerelastix.
Maybe there are still some packaging errors on mac?
Indeed, I didn't have a chance to fix this issue:
from slicerelastix.
won't work on new MacBook anymore?
Once the issue referenced above is fixed, it will be available again.
from slicerelastix.
@jcfr Could you have a look at this? We need to use Elastix in the SlicerHeart project but most of the research assistants use macOS, so they cannot. It fails with the same <Signals.SIGABRT: 6>
error on both the latest Slicer Stable Release and latest Slicer Preview Release.
from slicerelastix.
Does that mean Elastix won't work on new MacBook anymore?
from slicerelastix.
Thank you for this tool! Just wondering if there is a fix for this issue yet?
from slicerelastix.
Please try again with the latest Slicer Stable Release (currenty 5.6.1) and latest Slicer Preview Release and let us know if you still experience any problem.
from slicerelastix.
Thanks for your response. I still get the error on both the latest Slicer Stable Release and Preview Release.
from slicerelastix.
Thanks for testing. I guess @jcfr will get back to us here soon (probably after the holidays).
from slicerelastix.
It seems that the issue is that OpenMP is not found: https://discourse.slicer.org/t/command-elastix-died-with-signals-sigabrt-6/32970/9?u=lassoan
@jcfr so you think we an bundle OpenMP or we should disable OpenMP on macOS?
from slicerelastix.
@DevLaurence Do you know anyone from our group encountering this issue when using propagation with my modified module?
from slicerelastix.
DevLaurence Do you know anyone from our group encountering this issue when using propagation with my modified module?
@che85 I encountered this issue when meeting with @lassoan this morning.
from slicerelastix.
I just ran it in a Slicer 5.7.0 preview release and indeed getting the same error. In the meantime, as a workaround, one could use the elastix binary of the Slicer 5.2.2 stable release which works fine.
When using the elastix binary of 5.4.0 release getting the same error:
Command 'elastix' died with <Signals.SIGABRT: 6>.
Traceback (most recent call last):
File "/Applications/Slicer-5.7.0_preview.app/Contents/Extensions-32651/SequenceRegistration/lib/Slicer-5.7/qt-scripted-modules/SequenceRegistration.py", line 439, in onApplyButton
self.logic.registerVolumeSequence(self.inputSelector.currentNode(),
File "/Applications/Slicer-5.7.0_preview.app/Contents/Extensions-32651/SequenceRegistration/lib/Slicer-5.7/qt-scripted-modules/SequenceRegistration.py", line 561, in registerVolumeSequence
self.elastixLogic.registerVolumes(
File "/Applications/Slicer-5.7.0_preview.app/Contents/Extensions-32651/SlicerElastix/lib/Slicer-5.7/qt-scripted-modules/Elastix.py", line 564, in registerVolumes
self.logProcessOutput(elastixProcess)
File "/Applications/Slicer-5.7.0_preview.app/Contents/Extensions-32651/SlicerElastix/lib/Slicer-5.7/qt-scripted-modules/Elastix.py", line 499, in logProcessOutput
raise subprocess.CalledProcessError(return_code, "elastix")
subprocess.CalledProcessError: Command 'elastix' died with <Signals.SIGABRT: 6>.
from slicerelastix.
Same error with Slicer 5.3.0 on M2 Max. So I am assuming that it must have been a change between 5.2.0 and 5.3.0
@jcfr Hope that helps to narrow it down
Traceback (most recent call last):
File "/Applications/Slicer-5.3.0_stable.app/Contents/Extensions-31913/SequenceRegistration/lib/Slicer-5.3/qt-scripted-modules/SequenceRegistration.py", line 439, in onApplyButton
self.logic.registerVolumeSequence(self.inputSelector.currentNode(),
File "/Applications/Slicer-5.3.0_stable.app/Contents/Extensions-31913/SequenceRegistration/lib/Slicer-5.3/qt-scripted-modules/SequenceRegistration.py", line 561, in registerVolumeSequence
self.elastixLogic.registerVolumes(
File "/Applications/Slicer-5.3.0_stable.app/Contents/Extensions-31913/SlicerElastix/lib/Slicer-5.3/qt-scripted-modules/Elastix.py", line 564, in registerVolumes
self.logProcessOutput(elastixProcess)
File "/Applications/Slicer-5.3.0_stable.app/Contents/Extensions-31913/SlicerElastix/lib/Slicer-5.3/qt-scripted-modules/Elastix.py", line 499, in logProcessOutput
raise subprocess.CalledProcessError(return_code, "elastix")
subprocess.CalledProcessError: Command 'elastix' died with <Signals.SIGABRT: 6>.
from slicerelastix.
I just built Slicer and SlicerElastix locally on my M2 and everything seems to be working just fine.
from slicerelastix.
I will have a look this afternoon, could you provide me with the steps (and data) leading to the issue ?
from slicerelastix.
- Download SampleData
MRBrainTumor1
andMRBrainTumor2
- Open
General Registration (Elastix)
- Set Fixed and Moving volume
- Create output transform
- Run
from slicerelastix.
@che85 got this error when trying to execute Elastix on the console:
(base) herzc@K4YF7L70NQ Slicer-5.4 % ./elastix
dyld[26616]: Library not loaded: @rpath/Extensions-31938/SlicerElastix/lib/Slicer-5.4/libomp.dylib
Referenced from: <B727E4F5-7E1A-3E0A-92BE-2389498D5492> /Applications/Slicer-5.4.0_stable.app/Contents/Extensions-31938/SlicerElastix/lib/Slicer-5.4/elastix
Reason: tried: '/Users/svc-dashboard/D/Support/clang+llvm-14.0.6-x86_64-apple-darwin/lib/Extensions-31938/SlicerElastix/lib/Slicer-5.4/libomp.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/svc-dashboard/D/Support/clang+llvm-14.0.6-x86_64-apple-darwin/lib/Extensions-31938/SlicerElastix/lib/Slicer-5.4/libomp.dylib' (no such file), '/usr/local/lib:/Users/svc-dashboard/D/S/A/ITK-build/Extensions-31938/SlicerElastix/lib/Slicer-5.4/libomp.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib:/Users/svc-dashboard/D/S/A/ITK-build/Extensions-31938/SlicerElastix/lib/Slicer-5.4/libomp.dylib' (no such file), '/Users/svc-dashboard/D/Support/clang+llvm-14.0.6-x86_64-apple-darwin/lib/Extensions-31938/SlicerElastix/lib/Slicer-5.4/libomp.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/svc-dashboard/D/Support/clang+llvm-14.0.6-x86_64-apple-darwin/lib/Extensions-31938/SlicerElastix/lib/Slicer-5.4/libomp.dylib' (no such file), '/usr/local/lib:/Users/svc-dashboard/D/S/A/ITK-build/Extensions-31938/SlicerElastix/lib/Slicer-5.4/libomp.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib:/Users/svc-dashboard/D/S/A/ITK-build/Extensions-31938/SlicerElastix/lib/Slicer-5.4/libomp.dylib' (no such file), '/usr/local/lib/libomp.dylib' (no such file), '/usr/lib/libomp.dylib' (no such file, not in dyld cache)
zsh: abort ./elastix
It seems that OpenMP (libomp.dylib) is used during building the extension but it is not included in the package. As a quick workaround, I've disabled OpenMP in Elastix (we'll see tomorrow if it fixes the issue).
It would be nicer if it could be enabled. @jcfr how libomp.dylib could be added to the package? Could adding it to the package cause any problems for other components (Slicer modules, extensions, Python packages, ...) that use also OpenMP, but perhaps a different version?
from slicerelastix.
@jcfr @lassoan The changes you made to SlicerElastix fixed the issue. I just tested with the update SlicerElastix version on macOS and it works.
from slicerelastix.
We can now close the corresponding issue were we suggested disabling openmp:
from slicerelastix.
Thank you @che85 for testing!
from slicerelastix.
Related Issues (20)
- Save selections in the parameter set node
- Elastix is not found on MacOSX HOT 1
- Running Elastix registration changes save location of "fixed" and "moving" volumes HOT 1
- Elastix won't run on unsaved scene HOT 2
- Modifying elastix parameters HOT 1
- vtkMatrixFromArray not found HOT 1
- Build failure with ITK v5.1rc03
- Use Elastix wrapping of ITK for Python HOT 3
- AdvancedKappaStatistic metric not installed HOT 2
- BSpline output transform is not always correct HOT 3
- Is generic rigid preset actually rigid? HOT 2
- Strange output when registering brain MRI to CT scan HOT 1
- Elastix not found on Mac HOT 11
- Slicer extension macOS packaging is failing HOT 4
- Output Transform HOT 14
- error when run make package HOT 1
- Preset "3D MRI, monomodal (brain)" does not work HOT 1
- elxInvertTransform HOT 3
- Registration does not complete if volume is not selected
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slicerelastix.