Comments (9)
@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.
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.
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.
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.
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.
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.
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.
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
-
Actions
- Preoperative segmentation (either glioblastoma or meningioma).
from raidionics.
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.
Your advice to unblock "Use manual MRI sequences" worked. The test case then proceeded as advertised. Thanks
from raidionics.
Related Issues (20)
- DICOM RTstructure segmentation export
- Feature: Interactive prediction thresholding
- Bug: Launching latest artifact fails on macOS HOT 7
- Feature: Replace PyANTs with Freesurfer?
- Feature: Remove ANTs C++ binaries to reduce bloatware HOT 3
- Feature: Add GUI unit tests with pyautogui HOT 3
- Bug: macOS ARM CI build fails due to dylib not found HOT 2
- Feature: Swapping opencv with skimage in rt_utils HOT 4
- GUI-Tumor sub-compartments HOT 4
- AttributeError: 'NoneType' object has no attribute '_fixed_uid' HOT 6
- AttributeError: 'NoneType' object has no attribute '_fixed_uid' & ValueError: No radiological volume for {xy} HOT 1
- Preparing the configuration file for running MRI_GBM_Postop_FV_5p model in Colab Notebook HOT 7
- radionics error HOT 4
- FLAIR images in range [0, 255] cannot be opened HOT 1
- Software crashing/freezing when too many patients are sequentially processed
- Postoperative segmentation HOT 1
- Multilabel (BRATS-like) output for single-time point post-operative glioma segmentation model HOT 2
- Reporting results in MNI/Atlas space
- Lack of reports
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 raidionics.