neuronflow / BraTS-Toolkit

Code to preprocess, segment, and fuse glioma MRI scans based on the BraTS Toolkit manuscript.
https://www.frontiersin.org/articles/10.3389/fnins.2020.00125/full
GNU Affero General Public License v3.0
70 stars 11 forks source link

BRATSTOOLKIT EXECUTION ON WINDOWS 10 #30

Closed DanielaTalba1 closed 8 months ago

DanielaTalba1 commented 9 months ago

Hello, please, I want to use the preprocessing code from the Brats Toolkit. Specifically, I want to run the code "0_preprocessing_single.py" in "cpu" mode. However, I am using Windows 10, and I have downloaded Docker Desktop on this Windows machine. I am unable to install NVIDIA Docker, which is only available for Linux. When I try to run this code, I encounter a series of errors related to Docker.

Could someone please help me run the Brats Toolkit on Windows? Thank you. Liliane

Traceback (most recent call last): File "C:\Users\TALBA\PycharmProjects\pythonProject\main.py", line 18, in prep.single_preprocess( File "C:\Users\TALBA\PycharmProjects\pythonProject\venv\lib\site-packages\brats_toolkit\preprocessor.py", line 124, in single_preprocess self.batch_preprocess( File "C:\Users\TALBA\PycharmProjects\pythonProject\venv\lib\site-packages\brats_toolkit\preprocessor.py", line 153, in batch_preprocess start_docker( File "C:\Users\TALBA\PycharmProjects\pythonProject\venv\lib\site-packages\brats_toolkit\util\docker_functions.py", line 63, in start_docker subprocess.run(command, cwd=cwd) File "C:\Users\TALBA\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 501, in run with Popen(*popenargs, **kwargs) as process: File "C:\Users\TALBA\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 966, in init self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\TALBA\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 1435, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] Le fichier spécifié est introuvable

neuronflow commented 9 months ago

Dear @DanielaTalba1, thanks for your interest in BTK. Unfortunately, I don't have access to a Windows testing system anymore. I will try to organize one but most likely it will feature Windows 11.

Your error indicates that some file cannot be found.

Is your docker installation able to run the hello world container?

DanielaTalba1 commented 9 months ago

Thank you for your answer

"Here is the message that appears when I launch the 'Hello World' container."

C:\Users\TALBA>docker run hello-world

Hello from Docker! This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:

  1. The Docker client contacted the Docker daemon.
  2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64)
  3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
  4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/

For more examples and ideas, visit: https://docs.docker.com/get-started/

On the other hand, in Docker Desktop, I can see the container projectelephant/server:latest c55ffb204ddc. However, this image doesn't seem to work when I run my code 0_preprocessing.py. So, do I necessarily need a Linux OS to run this code, please?

Thank you

DanielaTalba1 commented 9 months ago

Dear @DanielaTalba1, thanks for your interest in BTK. Unfortunately, I don't have access to a Windows testing system anymore. I will try to organize one but most likely it will feature Windows 11.

Your error indicates that some file cannot be found.

Is your docker installation able to run the hello world container? please @neuronflow Could the issue possibly be related to the configuration of the win_docker.cmd file, which is intended for use when our operating system is Windows? BECAUSE i have the error filenotfound for the line del temp.txt when i execute the file win_docker.cmd alone. Thank you.

neuronflow commented 9 months ago

Hi, can you please update BTK to version 1.0.6, try again, and report back?

neuronflow commented 9 months ago

Does https://github.com/neuronflow/BraTS-Toolkit/issues/31 mean this fix worked for you?

neuronflow commented 9 months ago

closing as of https://github.com/neuronflow/BraTS-Toolkit/issues/32

liamburrows commented 8 months ago

Hello, I have the exact same problem as the one posted in the first post of this thread, copied at the bottom of my comment. I am running Windows 10, and BTK v1.07. My docker run hello-world runs fine, and I can also see projectelephant/server in my docker desktop app. Any idea on how this is resolved?

Cell In[4], line 11 prep.single_preprocess(

File ~\anaconda3\envs\bratstoolkit\lib\site-packages\brats_toolkit\preprocessor.py:127 in single_preprocess self.batch_preprocess(

File ~\anaconda3\envs\bratstoolkit\lib\site-packages\brats_toolkit\preprocessor.py:157 in batch_preprocess start_docker(

File ~\anaconda3\envs\bratstoolkit\lib\site-packages\brats_toolkit\util\docker_functions.py:63 in start_docker subprocess.run(command, cwd=cwd)

File ~\anaconda3\envs\bratstoolkit\lib\subprocess.py:503 in run with Popen(*popenargs, **kwargs) as process:

File ~\anaconda3\envs\bratstoolkit\lib\site-packages\spyder_kernels\customize\spydercustomize.py:109 in init super(SubprocessPopen, self).init(*args, **kwargs)

File ~\anaconda3\envs\bratstoolkit\lib\subprocess.py:971 in init self._execute_child(args, executable, preexec_fn, close_fds,

File ~\anaconda3\envs\bratstoolkit\lib\subprocess.py:1456 in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args,

FileNotFoundError: [WinError 2] The system cannot find the file specified

DanielaTalba1 commented 8 months ago

Hello ,

It's the win_docker.cmd file that can't be found by your system. as a result, the code can't launch the docker container. to solve this problem, i've modified the docker_functions file. i've only modified the path to the win_docker.cmd file and i've put the absolute path to this file in my machine. in the attachment, what i've highlighted in blue is the only thing i've modified. You can also modify and put the absolute path of this file in your pc.

De: "LRB13" @.> À: "neuronflow/BraTS-Toolkit" @.> Cc: "Daniela Liliane Talba" @.>, "Mention" @.> Envoyé: Lundi 30 Octobre 2023 12:12:22 Objet: Re: [neuronflow/BraTS-Toolkit] BRATSTOOLKIT EXECUTION ON WINDOWS 10 (Issue #30)

Hello, I have the exact same problem as the one posted in the first post of this thread, copied at the bottom of my comment. I am running Windows 10, and BTK v1.07. My docker run hello-world runs fine, and I can also see projectelephant/server in my docker desktop app. Any idea on how this is resolved?

Cell In[4], line 11 prep.single_preprocess(

File ~\anaconda3\envs\bratstoolkit\lib\site-packages\brats_toolkit\preprocessor.py:127 in single_preprocess self.batch_preprocess(

File ~\anaconda3\envs\bratstoolkit\lib\site-packages\brats_toolkit\preprocessor.py:157 in batch_preprocess start_docker(

File ~\anaconda3\envs\bratstoolkit\lib\site-packages\brats_toolkit\util\docker_functions.py:63 in start_docker subprocess.run(command, cwd=cwd)

File ~\anaconda3\envs\bratstoolkit\lib\subprocess.py:503 in run with Popen(*popenargs, **kwargs) as process:

File ~\anaconda3\envs\bratstoolkit\lib\site-packages\spyder_kernels\customize\spydercustomize.py:109 in init super(SubprocessPopen, self). init (*args, **kwargs)

File ~\anaconda3\envs\bratstoolkit\lib\subprocess.py:971 in init self._execute_child(args, executable, preexec_fn, close_fds,

File ~\anaconda3\envs\bratstoolkit\lib\subprocess.py:1456 in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args,

FileNotFoundError: [WinError 2] The system cannot find the file specified

— Reply to this email directly, [ https://github.com/neuronflow/BraTS-Toolkit/issues/30#issuecomment-1784966891 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/BCVBI5F5NJDLL675IS5SVWLYB6DRNAVCNFSM6AAAAAA5BPYFCSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBUHE3DMOBZGE | unsubscribe ] . You are receiving this because you were mentioned. Message ID: @.***>

-- -- Daniela Talba Medical image processing engineer/Data Processing Unit NH TherAguix SA 19, Chemin des Prés 38240 Meylan Website: www.nhtheraguix.com


This e-mail message and all attachments transmitted with it are confidential and may contain legally privileged and confidential information.


liamburrows commented 8 months ago

Thank you for your quick reply! I can't see the attachment if you attached something?

liamburrows commented 8 months ago

Ah I have figured it out, changed my path to the file found in anaconda3\envs\bratstoolkit\Lib\site-packages\brats_toolkit\util\backend_scripts\

neuronflow commented 8 months ago

Thank you for reporting back here. Maybe @MarcelRosier can implement the fix. Might be solvable in a similar way as we did it for BrainLes?

Thanks to @sarthakpati we will soon be able to offer an alternative pipeline without the need for docker for Windows users.

MarcelRosier commented 8 months ago

@LRB13 @DanielaTalba1 I was able to reproduce your issue and implemented a fix that has been released in version 1.0.9