Problem with FSLeyes

Description

I have successfully installed the SCT and FSLeyes. Now, I am trying to run FSLeyes. In order to do that I write the command: fsleyes &

Commands and terminal output

Failed to load plugin file /home/ali/.config/fsleyes/plugins/sct_plugin.py: name 'frame' is not defined.

But afew seconds later the FSLeyes window normally opens up. There, when I want to import SCT plugin by clicking the “run script”, it shows this error message:

The script /home/ali/sct/contrib/fsl_integration/sct_plugin.py has crashed! Reason: ‘FSLeyesFrame’ object has no attribute ‘getAuiManager’

sct_check_dependencies

SCT info:

  • version: git-master-a685d7f0d8032f9df685a08d22947947ac416e71
  • path: /home/ali/sct
    OS: linux (Linux-5.8.0-55-generic-x86_64-with-debian-bullseye-sid)
    CPU cores: Available: 4, Used by ITK functions: 4
    RAM: Total: 5828MB, Used: 1894MB, Available: 3149MB
    Check Python executable…[OK]
    Using bundled python 3.6.13 |Anaconda, Inc.| (default, Jun 4 2021, 14:25:59)
    [GCC 7.5.0] at /home/ali/sct/python/envs/venv_sct/bin/python
    Check if data are installed…[OK]
    Check if colored is installed…[OK] (1.4.2)
    Check if dipy is installed…[OK] (1.4.1)
    Check if futures is installed…[OK]
    Check if h5py is installed…[OK] (2.10.0)
    Check if Keras (2.1.5) is installed…[OK] (2.1.5)
    Check if ivadomed is installed…[OK] (2.7.4)
    Check if matplotlib is installed…[OK] (3.3.4)
    Check if nibabel is installed…[OK] (3.2.1)
    Check if numpy is installed…[OK] (1.19.5)
    Check if onnxruntime (1.4.0) is installed…[OK] (1.4.0)
    Check if pandas is installed…[OK] (1.1.5)
    Check if psutil is installed…[OK] (5.8.0)
    Check if pyqt5 (5.11.3) is installed…[OK] (5.11.3)
    Check if pytest is installed…[OK] (6.2.4)
    Check if pytest-cov is installed…[OK] (2.12.1)
    Check if raven is installed…[OK]
    Check if requests is installed…[OK] (2.25.1)
    Check if requirements-parser is installed…[OK] (0.2.0)
    Check if scipy is installed…[OK] (1.5.4)
    Check if scikit-image is installed…[OK] (0.17.2)
    Check if scikit-learn is installed…[OK] (0.24.2)
    Check if tensorflow (1.5.0) is installed…[OK] (1.5.0)
    Check if torch (1.5.0+cpu) is installed…[OK] (1.5.0+cpu)
    Check if torchvision (0.6.0+cpu) is installed…[OK] (0.6.0+cpu)
    Check if xlwt is installed…[OK] (1.3.0)
    Check if tqdm is installed…[OK] (4.61.0)
    Check if transforms3d is installed…[OK] (0.3.1)
    Check if urllib3 is installed…[OK] (1.26.5)
    Check if pytest_console_scripts is installed…[OK]
    Check if wquantiles is installed…[OK] (0.4)
    Check if spinalcordtoolbox is installed…[OK]
    Check ANTs compatibility with OS …[OK]
    Check PropSeg compatibility with OS …[OK]
    Check if DISPLAY variable is set…[OK]
    Check if figure can be opened with PyQt…QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root’
    [OK]

File upload

Hi @ali.mi,

I’m glad that you have been able to install SCT! :slightly_smiling_face:

Just to clarify, sct_plugin.py shouldn’t be copied to the plugins directory. Instead, it should be left in the SCT directory, then opened using “Run script”.

Just to check, which of these installation methods did you use to install FSLeyes? (FSL, conda, pip?)

Kind regards,
Joshua

2 Likes

Thank you for reaching out @ali.mi. Just to add to the excellent answer from @joshuacwnewton, here is a video tutorial that explains how to run SCT within FSLeyes.

1 Like

Thank you so much. I used the FSL method.
When I try to open it by using “run script” from inside the FSLeyes screen, It shows this error message:
The script /home/ali/sct/contrib/fsl_integration/sct_plugin.py has crashed! Reason: ‘FSLeyesFrame’ object has no attribute ‘getAuiManager’

Thank you so much, yes I’m exactly following this video’s instructions. However, when I click the “run script” an error message pops up telling:

The script /home/ali/sct/contrib/fsl_integration/sct_plugin.py has crashed! Reason: ‘FSLeyesFrame’ object has no attribute ‘getAuiManager’

Hi @ali.mi. Could you please run the following commands and share the output?

fsleyes --version
find $FSLDIR -name 'wxpython-*' -type d 2>/dev/null

This will give us your FSLeyes version, as well as the version of WxPython installed with FSL.

Kind regards,
Joshua

1 Like

Thank you very much. When I type the “fsleyes --version”, it shows:
Failed to load plugin file /home/ali/.config/fsleyes/plugins/sct_plugin.py: name ‘frame’ is not defined.
And when I type “find $FSLDIR -name ‘wxpython-*’ -type d 2>/dev/null”, it shows:
/usr/local/fsl/fslpython/pkgs/wxpython-4.0.7.post2-py37h17634e0_3

This error occurs because you have placed “sct_plugin.py” in the “plugins/” folder. Instead, “sct_plugin.py” should stay in its original location (the SCT installation folder).

Please remove “sct_plugin.py” from the “plugins/” directory, then rerun “fsleyes --version”.

Kind regards,
Joshua

1 Like

I removed the sct_plugin.py from the plugins folder. Now, when I run the “fsleyes --version” command, the previous error message has been disappeared. But I don’t have any clue why it still shows the same error message when I click the “run script” from inside the FSLeyes window.
I re-installed the FSLeyes but didn’t work. I also tried installing FSLeyes through the Conda method but it didn’t work either.

Hi @ali.mi,

I am happy to help try and debug. But, the reason we ask for the output of “fsleyes --version” is because the version number helps us to try to reproduce your issue. :slightly_smiling_face:

Kind regards,
Joshua

1 Like

Thank you so much. this is the output:
fsleyes/FSLeyes version 1.0.11

Hi @ali.mi,

Thank you for the information. I have been able to reproduce your issue, and I can confirm that this is a bug specifically related to FSLeyes v1.0. (We have tested the “sct_plugin.py” script against FSLeyes version 0.34, but not the recently-released v1.0.)

An issue has been opened in our issue tracker here. I will get to work shortly to address this issue, then I will update you when a fix has been released.

Kind regards,
Joshua

Issue is now fixed.