Mrtrix3 Docker GUI issue

Hi Mrtrix3 experts

I am running a docker image that was downloaded from docker hub.

However, once I run mrview, the terminal shows:

mrview: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory

My setup:

I use mobaXterm via SSH to access my server. The server has docker and other stuff installed. I can successfully open other GUI apps like Freeview from freesurfer without issues. Any suggestion on this?

Thank you very much for your help in advance.

Dear @kkenzo0619

I’m not sure if the docker image of MRtrix has a functioning GUI component, but I can offer you to check out Neurodesk at https://neurodesk.github.io/
Neurodesk is a full graphical neuroimaging analysis environment packed in a docker container, and MRtrix is included. After you have Neurodesk running, just look for MRtrix in the menu under the diffusion MRI tools.

Good luck and let me know if you get stuck for some reason. I’m on the development team of both MRtrix and Neurodesk, so can help.

Best,
Oren

Hi @orencivier

Thank you very much for your reply. I have just tried Neurodesktop, excellent container! I have a few questions regarding this desktop.

I successfully launched the container on the server, and I can access to it via my PC’s browser, however, the IP address is fixed to the server(the machine which runs the container), I wonder if other users on the server using the same images, could they create containers with different port number and access they own environment, would this work? In other words, I just hope everyone on the server can use Neurodesk without bothering each other.

If I understand correctly, Neurodesk will pull the corresponding images when first time starting it, however, I got stuck there because of the firewall, my working environment uses a proxy server, how shall I set up the proxy address inside the Neurodesk?

For instance, when I pull an image inside Neurodesk by:
singularity pull tensorflow.sif docker://tensorflow/tensorflow:latest

The error message I got:

FATAL: While making image from oci registry: error fetching image to cache: failed to get checksum for docker://tensorflow/tensorflow:latest: pinging container registry registry-1.docker.io: Get "http://registry-1.docker.io/v2/": dial tcp 54.236.165.68:80: i/o timeout

As far as I know, this issue is mainly caused by the network settings, which happened when pulling images from the Docker hub on my server. It was resolved by configuring the proxy address and port in the proxy file.

/etc/systemd/system/docker.service.d/http-proxy.conf

Inside of Neurodesk, where can I set up the proxy setting so that I can download images?

The following does not work:

export http_proxy=http://<ip>:<port>
export https_proxy=http://<ip>:<port>

@orencivier

Some updates today I’ve just tried. It seems that the simple commands work now with the pulling proxy:

export http_proxy=<ip>:<port>

But the problem I had previously remain the same, here is the screenshot. You can see from the terminal on the left that I can successfully pull the image from Docker but on the right one which shows once I click Mrtrix3 GUI version 3.0.1, after the pulling process as shown in the log, the window quickly disappear, I was not able to capture a screenshot for the further log info (Figure 1).

Further, I have looked into the mrtrix3 folder created by the process and ran the command:

bash run_transparent_singularity.sh --container mrtrix3_3.0.1_20200908.simg --singularity-opts  /neurocommand/local/containers/mrtrix3_3.0.1_20200908

but the process stopped as shown in Figure 2:

If I just click from the OS menu launching the app, it shows (Figure 3):

Any help is much appreciated !

Dear @kkenzo0619

Thanks for your compliments on Neurodesk, and I’m happy that you could solve some of proxy issues yourself. It is not entirely clear from the log if the MRtrix package was downloaded or not, so I suggest the following:

  1. Make sure that you run from the menu “mrviewGUI” rather than “mrtrix3”. The former launches the GUI. The latter only launches a shell where you can run mrtrix commands.

  1. If it still doesn’t work, please post your last message above in the Neurodesk’s discussion forum at Discussions · NeuroDesk/neurodesk.github.io · GitHub (notice that a Github account is required to be able to post. When you log in, you’ll have a green “New Discussion” button available). We are now in the MRtrix forum, and it’s not appropriate to discuss issues with Neurodesk.

With regard to your question on multiple users running Neurodesktop on the same server – there shouldn’t be any problem with it, as long as they use different port numbers. Just make sure that each user uses a separate neurodesktop_storage folder to prevent clashes (maybe it can work, but we didn’t test it). Again, if you run into problems, please post on the Neurodesk discussion forum as well.

Best,
Oren

1 Like