GithubHelp home page GithubHelp logo

Comments (21)

lassoan avatar lassoan commented on August 26, 2024 1

@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.

jcfr avatar jcfr commented on August 26, 2024 1

Maybe there are still some packaging errors on mac?

Indeed, I didn't have a chance to fix this issue:

from slicerelastix.

jcfr avatar jcfr commented on August 26, 2024 1

won't work on new MacBook anymore?

Once the issue referenced above is fixed, it will be available again.

from slicerelastix.

lassoan avatar lassoan commented on August 26, 2024 1

@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.

Ox1deL avatar Ox1deL commented on August 26, 2024

Does that mean Elastix won't work on new MacBook anymore?

from slicerelastix.

aabrown100-git avatar aabrown100-git commented on August 26, 2024

Thank you for this tool! Just wondering if there is a fix for this issue yet?

from slicerelastix.

lassoan avatar lassoan commented on August 26, 2024

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.

aabrown100-git avatar aabrown100-git commented on August 26, 2024

Thanks for your response. I still get the error on both the latest Slicer Stable Release and Preview Release.

from slicerelastix.

lassoan avatar lassoan commented on August 26, 2024

Thanks for testing. I guess @jcfr will get back to us here soon (probably after the holidays).

from slicerelastix.

lassoan avatar lassoan commented on August 26, 2024

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.

che85 avatar che85 commented on August 26, 2024

@DevLaurence Do you know anyone from our group encountering this issue when using propagation with my modified module?

from slicerelastix.

sulentica avatar sulentica commented on August 26, 2024

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.

che85 avatar che85 commented on August 26, 2024

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.

che85 avatar che85 commented on August 26, 2024

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.

che85 avatar che85 commented on August 26, 2024

I just built Slicer and SlicerElastix locally on my M2 and everything seems to be working just fine.

from slicerelastix.

jcfr avatar jcfr commented on August 26, 2024

I will have a look this afternoon, could you provide me with the steps (and data) leading to the issue ?

from slicerelastix.

che85 avatar che85 commented on August 26, 2024
  1. Download SampleData MRBrainTumor1 and MRBrainTumor2
  2. Open General Registration (Elastix)
  3. Set Fixed and Moving volume
  4. Create output transform
  5. Run

from slicerelastix.

lassoan avatar lassoan commented on August 26, 2024

@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.

che85 avatar che85 commented on August 26, 2024

@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.

jcfr avatar jcfr commented on August 26, 2024

We can now close the corresponding issue were we suggested disabling openmp:

from slicerelastix.

lassoan avatar lassoan commented on August 26, 2024

Thank you @che85 for testing!

from slicerelastix.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.