Comments (9)
I will test out MIRACL on my Windows system today and let you know the solution I find. My apologies I haven't used MIRACL on Windows in a while so I can't think of the solution right away.
from miracl.
Hi @louispivron I got it working on Windows. Here are the steps I took. All of this is performed in a WSL terminal:
- Clone the MIRACL project with
git clone https://github.com/AICONSlab/MIRACL.git
cd MIRACL
- Build MIRACL using
./build.sh
(along with any options you want to pass to the build script) - Start Xming (don't need to adjust any settings, just click through)
- Look into the Xming logs to see what IP address it is running at:
- Copy the IP address from the logs:
- Run
export DISPLAY=<IP ADDRESS>:0
e.g.,export DISPLAY=172.19.144.1:0
- Run
docker compose up -d
- Run
docker exec -it miracl bash
- Run
miraclGUI
You should see the GUI open and you can use it as you wish from there. As you click through the GUI you may see some warnings in your WSL terminal, but those can be ignored.
Please let me know if this works for you!
from miracl.
Hey Anthony, this is working...just fine !
Huge thanks for your help 👍
from miracl.
Hi, @louispivron thank you for your interest in the tool and for reaching out for help.
This problem occurs sometimes and has to do with X11 forwarding. I'm not familiar with Xming so I don't know how that affects the setup.
What I would suggest to do is shut down the docker container with:
docker compose down
Then let's edit the docker-compose.yml
and add /tmp/.X11-unix:/tmp/.X11-unix
to the volumes
section. So it should look something like this:
volumes:
- ...
- /tmp/.X11-unix:/tmp/.X11-unix
Start up the docker container again with:
docker compose up -d
Connect to the container using:
docker exec -it <CONTAINER_NAME> bash
And finally, try miraclGUI
again.
Please let me know if this works, or if you get a new error message. Best of luck!
from miracl.
Hey @anthonyprinaldi, thank you for your quick response yesterday 👍
Instead of using Xming, I used VcXsrv instead as a third-party X server and the GUI started working. The command you provided was probably useful but I'm not sure why Xming was still not launching the GUI properly.
after running 'miraclGUI' the following is printed in the terminal window
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-usr_m_elbousta1'
QPixmap::scaled: Pixmap is a null pixmap
EDIT :
maybe, I should have started with this : is the ace workflow the only feature available currently ?
I tried launching other workflows such as Clarity registration with the Allen Atlas as shown in the tutorial page
https://miracl.readthedocs.io/en/latest/tutorials/workflows/clarity_registration/clar_reg.html
but there is no python script in the reg folder to run but only the shell script which is not found by the command
miracl flow reg_clar
If you have any comment on that, let me know.
Really appreciated your help, thanks !
from miracl.
Hi @louispivron . I'm glad you got the GUI working 😄
As for the warning messages, you can ignore those. We will suppress those in a future version.
As for your question about features, ACE is not the only workflow available currently. All workflows on the tutorial page you referenced are working. You are correct that the reg_clar
workflow only uses shell scripts and no Python files.
If you are in the GUI mode, and you navigate to Workflows
--> Clarity-Allen Registration
you should see a pop-up that asks you to select the Clarity directory (it may take a few seconds to open up the pop-up window). Alternatively, if you type
miracl flow reg_clar
in your terminal, you should see the same pop-up window open. To confirm that something is happening when you are running the workflow, you should see this output in your docker container:
c3d path check: OK...
No inputs given ... running in GUI mode
Running Set orient with the following command:
miracl conv set_orient
Please let me know if your docker container prints an error message or anything other than the above message.
If you do not see the pop-up, you may need to check VcXsrv to see how it deals with pop-ups, or if it notifies you that another window has opened.
from miracl.
Also I should add that the GUI is launching properly only if those commands are run every time the docker container is being built and run :
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
export XAUTHORITY=$HOME/.Xauthority
it is a bit tedious to do it every time. Would you advice anything on that part ?
Concerning my previous request, I do see the pop up window for other tasks such as the conversion ones "Nii to Tiff" and Tiff to Nii" (which are the only tasks displayed by the GUI btw) but not for the registration. The docker container prints out
/usr/bin/env: 'bash\r' : No such file or directory
and same for the command line. That's why I was assuming that some sort of python script was necessary for the pop up window to appear...
Please tell me if I'm missing something here.
from miracl.
I'm not too sure about those commands. Are they Windows-specific (or VcXsrv-soecific) variables that need to be added? It seems like the DISPLAY variable being set has to do with an IP address.
If you would like to avoid running those commands each time, you can add them to the end of your ~/.bashrc
so that they run every time you open your terminal. In a text editor, you can add the following to the end of your ~/.bashrc
...
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
export XAUTHORITY=$HOME/.Xauthority
Do you mind sharing how you have set up your MIRACL environment? E.g., are you using WSL, did you build the docker image using build.sh
, how are you starting the docker container, and how are you connecting to the docker container? This can help diagnose the issue.
from miracl.
I'm not familiar with Windows OS at all but I'm using it for the purpose of the my lab, so I couldn't explain in great terms what is the true meaning behind this command, but apparently
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
is necessary to allow the docker container to access the X server. The installation tutorial on Windows https://miracl.readthedocs.io/en/latest/installation/installation.html was mentioning a similar command
export DISPLAY=$DISPLAY:localhost:0
which didn't help on my case.
Anyway, the GUI is running so that's good, but I did not solve the issue with some workflows not working and throwing error message in the terminal.
I should provide some info regarding the way I'm using MIRACL on my machine :
- I built the docker image using
build.sh
- I use WSL by running
wsl
under Ubuntu distribution ( I could also use docker-desktop one instead) seen underwsl -l -v
- I run the command
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
- I build the docker container with
docker compose up -d
- I shell inside the container with
docker exec -it miracl bash
- I then finally launch the GUI
miraclGUI
from miracl.
Related Issues (13)
- mv io tmp HOT 12
- Docker install generating errors HOT 1
- miracl_reg_mri-allen.sh regmrallen() -- 2 issues HOT 1
- segment Error
- Feature Extraction - Process Killed at last labels HOT 1
- data url not working HOT 2
- Include information about test data HOT 1
- Check for rotating circle credentials HOT 3
- MIRACL not working from CLI or GUI in latest version HOT 1
- Build the latest MIRACL image using the build script HOT 1
- Error while running `miracl` CLI: GLIBCXX_3.4.26 not found HOT 1
- segmentation workflow issue HOT 2
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 miracl.