Giter VIP home page Giter VIP logo

Comments (9)

andreped avatar andreped commented on September 27, 2024

@ft-zhang Not sure what the issue is, but @dbouget should be able to assist you.

I observed that anaconda seems to be used instead of the Python interpreter bundled with Raidionics. That was surprising to me. Have you seen something like this before @dbouget? Windows is kind of strange with its Path variable.

Maybe there is something wrong with our PyInstaller setup? I have previously seen that if two Python versions are on the same build machine, both are bundled with. Maybe not related but PyInstaller Spec file might have a solution for this.


EDIT: It might be that the local Python is used when you spin a new subprocess! That would made a lot of sense as this is outside PyInstaller's control. After Installation, is the Python version inside the raidionics.exe file or outside of it? If outside, I think we have a solution for this :]

from raidionics.

ft-zhang avatar ft-zhang commented on September 27, 2024

Sorry -- forgot to add that I am not using the Windows executable but a conda environment running main.py. Thanks again for your help.

from raidionics.

andreped avatar andreped commented on September 27, 2024

Sorry -- forgot to add that I am not using the Windows executable but a conda environment running main.py. Thanks again for your help.

Which main.py? Are you trying to run Raidionics (the actual GUI software) by downloading the installer, installing it, and running the app? Or do you mean that you are trying to run Raidionics from source, by first installing all dependencies and then running python main.py? Basically what is described here:
https://github.com/raidionics/Raidionics/wiki/Developers'-corner#version-10--

If you try to run Raidionics from source, you have to remember that Raidionics only works for a very specific configuration! If you want to do this, you need to use Python 3.8 (and 3.8 only), you have to use the basic Python and not Python from Anaconda. You also have to follow these installation steps as seen here (or at least you should to ensure that everything works fine):
https://github.com/raidionics/Raidionics/blob/master/.github/workflows/build_windows.yml#L33

For any other use, please download the installer of Raidionics for Windows from here:
https://github.com/raidionics/Raidionics/releases

And then run the program as you would with any other software. No need to run from python directly, unless you have very specific requirements on what you are trying to do. If so, I would likely to know more what you are trying to do, because it might be that Raidionics already supports this :]

from raidionics.

ft-zhang avatar ft-zhang commented on September 27, 2024

Thank you @andreped for your continued attention and support.

I am indeed running from source by installing the Raidionics dependencies manually then running python main.py. I am attempting this as a troubleshooting measure as the issue in my original post above is also occurring with Raidionics installed from the stable Windows installer (i.e. uploading a patient MRI, changing the sequence type to T1-CE, running pre-operative segmentation, and failing silently). The Windows CLI window associated with Raidionics outputs no error messages, hence I am attempting to debug from source.

More broadly -- I would like to be able to programmatically deploy Raidionics segmentation/other tools as part of a pipeline/workflow, and not have to use the GUI. Guidance on this front would also be appreciated.

Thank you again!

from raidionics.

dbouget avatar dbouget commented on September 27, 2024

Hi @ft-zhang,

Running Raidionics without GUI

If you are willing to integrate the processing from Raidionics without the need for the GUI, then I recommend you directly look into this repository.
The Raidionics RADS library contains the processing backend for running the different segmentation and reporting tasks, while Raidionics itself "simply" bundles the backend with a GUI in addition.

You will find several notebook tutorials to get started which are also available on Colab. Here is the example for running a preoperative segmentation model, on Github and Colab

Debugging the missing radiological volume error

Since you will be running the Python code, you can set break points along the way. I would recommend to set one here, so that you can investigate the content (i.e., MRI volumes and annotations) associated with the current patient to be processed.

If you want to investigate how a folder is parsed to populate a PatientStructure, which could explain why the T1-CE volume is not properly found or associated as T1-CE, you can set a break point here.

Let me know if it helped identifying the issue!

from raidionics.

Bayesianworld avatar Bayesianworld commented on September 27, 2024

Very similar error, but different situation. I have just set up Raidionincs on a Mac Book Pro (Apple M2 Pro chip, Sonoma 14.5) and am trying to run the test case using the GUI. Downloaded Case27-Flair.nii and Case27-T1.nii, set sequence type to T1-CE and tried to run the pre-operative segmentation(Note: in YouTube tutorial, is says to run glioblastoma model and in Github notes is says meningioma--I have tried both). Fails with following message:

File "raidionicsrads/Pipelines/SegmentationStep.py", line 71, in setup
ValueError: No radiological volume for {'timestamp': 0, 'sequence': 'T1-CE', 'labels': None, 'space': {'timestamp': 0, 'sequence': 'T1-CE'}}.

Loading of the files seemed to well and patient was saved in ~/.raidionics/patients/name
However, I loaded it from another folder, though that shouldn't be a problem.
Any hints? Thanks

from raidionics.

dbouget avatar dbouget commented on September 27, 2024

Hi @Bayesianworld,

The provided test-case images are compatible with either the glioblastoma or meningioma model. The meningioma model is simply "faster" to run because it does not require the segmentation of the brain to happen beforehand.

You could try letting Raidionics identify itself the MR sequence for each provided input by leaving the following box unticked: Settings > Preferences > Inputs / Outputs > Use manual MRI sequences. With the two provided images, the automatic classification method works properly.
image

You can load the two images from wherever on your machine, it should not pose any problem indeed. What I would recommend is to try running the following:

  • Start Raidionics

  • Import patient

    • Other data type (*.nii) and select the two test-case images.
    • By default, you should see the following on the right-hand side (T0 written and if you click on the drop-down box to the side of the + and - signs, nothing else should show).
      image
  • Actions

    • Preoperative segmentation (either glioblastoma or meningioma).

from raidionics.

Bayesianworld avatar Bayesianworld commented on September 27, 2024

Thanks for the quick reply, but still no luck. Here is most of the log file:
16/08/2024 13.43 ; urllib3.connectionpool ; DEBUG ; Starting new HTTPS connection (1): github.com:443
16/08/2024 13.43 ; urllib3.connectionpool ; DEBUG ; https://github.com:443 "GET /raidionics/Raidionics-models/releases/download/1.2.0/raidionics_cloud_models_list_github.csv HTTP/1.1" 302 0
16/08/2024 13.43 ; urllib3.connectionpool ; DEBUG ; Starting new HTTPS connection (1): objects.githubusercontent.com:443
16/08/2024 13.43 ; urllib3.connectionpool ; DEBUG ; https://objects.githubusercontent.com:443 "GET /github-production-release-asset-2e65be/601122702/fe5a25c0-67a9-4910-a41c-ab75830fb390?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240816%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240816T204400Z&X-Amz-Expires=300&X-Amz-Signature=6a022b10c91d04bd293e657e21790582e7186c39cfbf8e1bea91e3033b4ab2ea&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=601122702&response-content-disposition=attachment%3B%20filename%3Draidionics_cloud_models_list_github.csv&response-content-type=application%2Foctet-stream HTTP/1.1" 200 2660
16/08/2024 13.43 ; urllib3.connectionpool ; DEBUG ; Starting new HTTPS connection (1): github.com:443
16/08/2024 13.43 ; urllib3.connectionpool ; DEBUG ; https://github.com:443 "GET /raidionics/Raidionics-models/releases/download/1.2.0/raidionics_cloud_models_list_github.csv HTTP/1.1" 302 0
16/08/2024 13.43 ; urllib3.connectionpool ; DEBUG ; Starting new HTTPS connection (1): objects.githubusercontent.com:443
16/08/2024 13.43 ; urllib3.connectionpool ; DEBUG ; https://objects.githubusercontent.com:443 "GET /github-production-release-asset-2e65be/601122702/fe5a25c0-67a9-4910-a41c-ab75830fb390?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240816%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240816T204400Z&X-Amz-Expires=300&X-Amz-Signature=6a022b10c91d04bd293e657e21790582e7186c39cfbf8e1bea91e3033b4ab2ea&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=601122702&response-content-disposition=attachment%3B%20filename%3Draidionics_cloud_models_list_github.csv&response-content-type=application%2Foctet-stream HTTP/1.1" 200 2660
16/08/2024 13.43 ; root ; ERROR ; Pipeline process for patient 81949, for task preop_segmentation failed with:
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "raidionicsrads/Pipelines/SegmentationStep.py", line 71, in setup
ValueError: No radiological volume for {'timestamp': 0, 'sequence': 'T1-CE', 'labels': None, 'space': {'timestamp': 0, 'sequence': 'T1-CE'}}.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "multiprocessing/pool.py", line 125, in worker
File "multiprocessing/pool.py", line 48, in mapstar
File "utils/backend_logic.py", line 187, in run_pipeline_wrapper
run_rads(params[0], params[1])
File "raidionicsrads/compute.py", line 30, in run_rads
File "raidionicsrads/Pipelines/PipelineStructure.py", line 90, in execute
File "raidionicsrads/Pipelines/SegmentationStep.py", line 147, in setup
ValueError: [SegmentationStep] setup failed.
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "utils/backend_logic.py", line 126, in run_pipeline
ret = result.get()[0]
File "multiprocessing/pool.py", line 771, in get
ValueError: [SegmentationStep] setup failed.
16/08/2024 13.43 ; root ; INFO ; Saving patient results in: /Users/markphillips/.raidionics/patients/micheal_vallery

from raidionics.

Bayesianworld avatar Bayesianworld commented on September 27, 2024

Your advice to unblock "Use manual MRI sequences" worked. The test case then proceeded as advertised. Thanks

from raidionics.

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.