Git Product home page Git Product logo

slicerradiomics's People

Contributors

fedorov avatar giannis245 avatar jamesobutler avatar jcfr avatar joostjm avatar lassoan avatar pieper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

slicerradiomics's Issues

CDash test failed

@jcfr, it appears the generic module test for slicer radiomics failed. It is complaining about a call to VC with python arguments.

test_widgetRepresentation (qSlicerSlicerRadiomicsModuleGenericTest.qSlicerSlicerRadiomicsModuleGenericTest) ... Traceback (most recent call last):
  File "C:/D/N/E-0/Radiomics-build/inner-build/lib/Slicer-4.9/qt-scripted-modules/SlicerRadiomics.py", line 61, in setup
    self._addCustomizationSection()
  File "C:/D/N/E-0/Radiomics-build/inner-build/lib/Slicer-4.9/qt-scripted-modules/SlicerRadiomics.py", line 295, in _addCustomizationSection
    self.parameterFilePathLineEdit = ctk.ctkPathLineEdit(filters=ctk.ctkPathLineEdit.Files)
ValueError: Calling C++ functions with Python keywords is not supported! Function: ctkPathLineEdit(QWidget parent) Keywords: {'filters': 2}
ok

http://slicer.cdash.org/testDetails.php?test=8615594&build=1191518

Moreove, the unit-tests on windows also appear to be failing, but I don't see any output. The Linux/Mac tests pass, but they are tested using an earlier commit.

SlicerRadiomics unavailable for macOS since Slicer Preview 5.3.0 as of 2023-03-31

The SlicerRadiomics extension has had build errors since March 31st, 2023 that has made it unavailable on macOS
https://slicer.cdash.org/viewBuildError.php?buildid=2985286

It is unable to build a macOS whl of pyradiomics. Around the time when this extension started to fail,

cc: @JoostJM @fedorov

No module named radiomics

Hello,
When I use Jupyter lab to run helloRadiomics.py, I am getting the following error. The samething happens when I open python helloRadiomics.py in Gitbash. How can I resolve this?
ModuleNotFoundError Traceback (most recent call last)
in
7 import SimpleITK as sitk
8
----> 9 import radiomics
10 from radiomics import featureextractor
11

ModuleNotFoundError: No module named 'radiomics'

Thanks

Different python interpreters

In the Slicer built tree, the python interpreter is found by #!/usr/bin/env python, whereas in the installed tree this should be #!/usr/bin/env python-real

Moreover, #!/usr/bin/env SlicerPython does not work, as it tries to start bin/python-real which does not work, as the current working directory is already the /bin folder in that case.

Add traceback to every except clause

Currently errors are caught but no diagnostic info is printed. Perhaps conditionally on the logging level we should include code like the following.

except:
    import traceback
    traceback.print_exc()

Slicer Radiomics

Dear sirs I would like to know if Slicer radiomics works on windows 7 64 bit. thanks. Giordano

Error extracting features

Hi, I've been trying to use the newly updated SlicerRadiomics package to extract radiomics features, but the error below prompted every time I clicked apply. There were only table titles in the tables. At first I thought it was due to the setting of my machine. But after I tried 3 different machines, including win and linux, the same thing happened. I've tried Slicer 5.3-5.6, and even manually changed the py files but nothing worked. Hope someone could help me fix this problem. Thanks!!

[2023-12-04 00:42:47] I: radiomics.script: Processing input...
[2023-12-04 00:42:47] E: radiomics.script: Error extracting features!
Traceback (most recent call last):
File "/home/ubuntu/Slicer-5.6.0-linux-amd64/slicer.org/Extensions-32390/SlicerRadiomics/lib/python3.9/site-packages/radiomics/scripts/init.py", line 135, in run
results = self._processCases(caseGenerator)
File "/home/ubuntu/Slicer-5.6.0-linux-amd64/slicer.org/Extensions-32390/SlicerRadiomics/lib/python3.9/site-packages/radiomics/scripts/init.py", line 233, in _processCases
setting_overrides = self._parseOverrides()
File "/home/ubuntu/Slicer-5.6.0-linux-amd64/slicer.org/Extensions-32390/SlicerRadiomics/lib/python3.9/site-packages/radiomics/scripts/init.py", line 353, in _parseOverrides
settingsSchema = yaml.safe_load(schema)['mapping']['setting']['mapping']
File "/home/ubuntu/Slicer-5.6.0-linux-amd64/slicer.org/Extensions-32390/SlicerRadiomics/lib/python3.9/site-packages/ruamel/yaml/main.py", line 1105, in safe_load
error_deprecation('safe_load', 'load', arg="typ='safe', pure=True")
File "/home/ubuntu/Slicer-5.6.0-linux-amd64/slicer.org/Extensions-32390/SlicerRadiomics/lib/python3.9/site-packages/ruamel/yaml/main.py", line 1037, in error_deprecation
raise AttributeError(s)
AttributeError:
"safe_load()" has been removed, use

yaml = YAML(typ='safe', pure=True)
yaml.load(...)

instead of file "/home/ubuntu/Slicer-5.6.0-linux-amd64/slicer.org/Extensions-32390/SlicerRadiomics/lib/python3.9/site-packages/radiomics/scripts/init.py", line 353

settingsSchema = yaml.safe_load(schema)['mapping']['setting']['mapping']

How to use SLicerRadiomics

Hello,
I'm a beginner at pyRadiomics. I've installed radiomics module in the slicer.
The steps I used for the feature extraction:

Imported the 2D Dicom image (one slice) for the test.
Drew an ROI on the tumor (label)
Open the module Radiomics in the slicer.
Select All features, apply
Export as a table. 118 features were extracted.

Am I doing it correctly? If the above method is wrong, can anyone guide me through this? Also, is there any way to export the table from the slicer as a CSV file?
I would really appreciate the help!

Thanks,
Durgesh

Install SlicerRadiomics From 3D Slicer on MAC 10.15.5

Hi! I want to use the SlicerRadiomics From 3D Slicer but i can't find the version of MAC.I have tried the methods with source code but failed.Can you provide a install-archive for me? So I can install from file.THANKS!!!

SlicerRadiomics extension not available for Slicer 4.11.0 on Mac OS

Any idea why the SlicerRadiomics extension isn't available for installation in the Extensions Manager on Slicer for the current nightly build version?

Previously I was using an older build; decided to upgrade to the nightly build of Slicer 4.11.0 and the extension is not available any longer.

I am on a Macbook Pro with Mojave 10.14.4.

Thanks for your help.

Radiomics does not work in latest stable release of Slicer

Excuse my question, but I really do not know what to do.

As you mentioned on GitHub-Website, Radiomics should be installed on 3D-Slicer Version 4.13 (unstable).
I followed your description, but it is not possible installing any extension.
Additionally, DICOM-Data cannot be downloaded in 3D-Slicer, because "unfortunately, this request module is not available in this Slicer session".
Because of that I tried installing 3D-Slicer Verion 4.11, but I just can install "RadiomicsCLI", which works differently, as I noticed.

I have a Macbook (macOS Catalina, Version 10.15.7) and would be very pleasant for your help!

Add a debug mode option

To make it easier to debug and to file issues, add a gui option to run in verbose debugging mode.

How to create Mask file of segmentation?

Hello! I am new to Radiomics and Segmentation. I have some dicom images depicting lung tissues. How can I manually segment the tissues and save a mask file for each dicom, in the supported format nrrd? I tried several tools but it all seems very confusing! Anyone?

Not working in Slicer 4.10 stable release nor 4.11 nightly build with Windows 7.

tried SlicerRadiomics in 3D slicer. Successfully installed. But keep getting the following message. Try it in both 4.10 stable release and 4.11 nightly build. Also tried pip to install pywavelets. The python console shows it has been installed.

==================================================================

Requirement already satisfied: pywavelets in c:\users\usersname\appdata\roaming\na-mic\extensions-27501\slicerradiomics\lib\site-packages (1.0.0)
Requirement already satisfied: numpy>=1.9.1 in c:\program files\slicer 4.10.0\lib\python\lib\site-packages\numpy-1.13.1-py2.7-win-amd64.egg (from pywavelets) (1.13.1)
0

===============================================================
**RadiomicsCLI standard error:

Traceback (most recent call last):
File "C:/Users/usersname/AppData/Roaming/NA-MIC/Extensions-27501/SlicerRadiomics/lib/Slicer-4.10/cli-modules/SlicerRadiomicsCLI.py", line 6, in
from radiomics.scripts import parse_args
File "C:\Users\usersname\AppData\Roaming\NA-MIC\Extensions-27501\SlicerRadiomics\Lib\site-packages\radiomics_init_.py", line 15, in
from . import imageoperations
File "C:\Users\usersname\AppData\Roaming\NA-MIC\Extensions-27501\SlicerRadiomics\Lib\site-packages\radiomics\imageoperations.py", line 6, in
import pywt
File "C:\Users\usersname\AppData\Roaming\NA-MIC\Extensions-27501\SlicerRadiomics\Lib\site-packages\pywt_init_.py", line 16, in
from ._extensions._pywt import *
ImportError: DLL load failed: The specified module could not be found.**

Unable to install SlicerRadiomics on Windows from ExtensionsManager

The SlicerRadiomics package for Windows has been unavailable due to a build error that has been present since January 20th, 2021. This means SlicerRadiomics is unavailable on the latest stable Slicer release which is Slicer 4.11.20210226 and also unavailable in the latest preview.

image

First build error

  Generate version-python-pyradiomics.txt and license-python-pyradiomics.txt
  No configure step for 'python-pyradiomics'
  No build step for 'python-pyradiomics'
  Performing install step for 'python-pyradiomics'
  Collecting PyYAML>=3.12
    Downloading PyYAML-5.4.tar.gz (174 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'error'
  D:\D\P\Slicer-0-build\python-install\Lib\site-packages\pip\_internal\commands\install.py:234: UserWarning: Disabling all use of wheels due to the use of --build-option / --global-option / --install-option.
    cmdoptions.check_install_build_global(options)

Starting build failure on January 20th, 2021: https://slicer.cdash.org/viewBuildError.php?buildid=2125897
Current build failure for Slicer stable: https://slicer.cdash.org/viewBuildError.php?buildid=2174728

Fix windows build

Compiler environment needs to be set to ensure compilation from python package built from source succeeds and is done with a compiler matching the one user for the extension.

Cannot use the module with input mask defined by a segmentation node

This user report below summarizes the issue, which is reproducible with the latest nightly and stable releases of Slicer. It appears that the generator succeeds in creating a label node representation in https://github.com/AIM-Harvard/SlicerRadiomics/blob/master/SlicerRadiomics/SlicerRadiomics.py#L544-L550, and also if the segmentation is exported into a labelmap node, then feature extraction works with that labelmap node defining the mask.

https://discourse.slicer.org/t/support-3d-slicer-and-pyradiomics/18474

Add documentation

As discussed, we will at least initially have documentation page in md as part of the main repository.

Packaging the extension

@fedorov, can you describe the current issues with the packaging of the extension here?
@jcfr, do you have an idea how long it might take to fix this issue?

Impove Slicer CLI

  • Add progress reporting
  • Intercept logging messages?
  • Make CLI module hidden for users?

Copied from #37

Add UI control for normalization option

Feature requested by the user via email:

I have read a number of papers in the field of radiomics and found resamlping and normalization of image volume as a standard of operation in many papers. And I found resamlping as an option in the Radiomics plug-in but normalization not involved. I am wondering if normalization is as the SOP that the plug-in code runs. If not, how can I use the 3D slicer software to perform normalize.

voxel based feature extraction

I am trying to create a volume with the voxel based Radiomic features? Does anyone know what I may be doing incorrectly.. (see yaml input parameters below).

imageType:
Original: {}

featureClass:
ngtdm:

voxelSetting:
kernelRadius: 3
maskedKernel: True
initValue: nan

I am thinking that it may be that pyradiomics had a bug..
AIM-Harvard/pyradiomics#456

Thanks,
AC

Windows installation for Slicer Radiomics not working

When installing SlicerRadiomics from extension manager, installation works, however, the module cannot be loaded due to an error with the pyYAML library. When you comment out import pykwalify in featureextractor.py (in the installed site-packages), module loads fine and works without issue (pykwalify not needed in slicer extension)

Extend user interface for customization

Currently, customization of the extraction is very limited in SlicerRadiomics. Moreover, Yaml parsing using PyYaml doesn't work currently on windows (see #23), which means SlicerRadiomics cannot use the parameterfile.

This issue is created to make a list of GUI elements that should be made to expose the most important customization features of PyRadiomics.

Current suggestions:

  • Resampling
  • Image normalization
  • Filters (including Sigma values for LoG filter)

cc @Radiomics/developers

Feature calculation failed on windows

Hi, I install the slicerRadiomics on 3D Slicer by extensions manager. But it occurs the following errors when I use it to extract the brain tumor features.

Feature calculation failed.
Feature calculation failed.
Traceback (most recent call last):
File "C:/Users/15526/AppData/Roaming/NA-MIC/Extensions-27931/SlicerRadiomics/lib/Slicer-4.10/qt-scripted-modules/SlicerRadiomics.py", line 405, in onApplyButton
self.onFinished)
File "C:/Users/15526/AppData/Roaming/NA-MIC/Extensions-27931/SlicerRadiomics/lib/Slicer-4.10/qt-scripted-modules/SlicerRadiomics.py", line 735, in runCLI
self.runCLIWithParameterFile(imageNode, maskNode, tableNode, parameterFile, callback)
File "C:/Users/15526/AppData/Roaming/NA-MIC/Extensions-27931/SlicerRadiomics/lib/Slicer-4.10/qt-scripted-modules/SlicerRadiomics.py", line 773, in runCLIWithParameterFile
self._startCLI(firstRun=True)
File "C:/Users/15526/AppData/Roaming/NA-MIC/Extensions-27931/SlicerRadiomics/lib/Slicer-4.10/qt-scripted-modules/SlicerRadiomics.py", line 531, in _startCLI
labelName, labelNode, label_idx, imageNode = self._labelGenerators.next()
AttributeError: 'itertools.chain' object has no attribute 'next'

ImportError: No module named radiomics

I tried to download and build from source on linux. It doesn't load, with the following error. Any idea? Is it because linux-related issue on the main page?

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/PHShome/gcs6/build/slicer-4/SlicerRadiomics-build/inner-build/lib/Slicer-4.7/qt-scripted-modules/SlicerRadiomics.py", line 5, in <module>
    from radiomics import featureextractor, getFeatureClasses, setVerbosity
ImportError: No module named radiomics
loadSourceAsModule - Failed to load file "/PHShome/gcs6/build/slicer-4/SlicerRadiomics-build/inner-build/lib/Slicer-4.7/qt-scripted-modules/SlicerRadiomics.py"  as module "SlicerRadiomics" ! 
Fail to instantiate module  "SlicerRadiomics" 

I couldn't find the Radiomics in the 3D Slicer extensions manager

I don't know if I did something wrong, or if there any dependency missing. But I couldn't find the Radiomics in the 3D Slicer extensions manager.

I tried the search mode in All, and looking for it into the Informatics category.

I am using windows 10, and tried using stable(4.10) and nightly (4.11)

Add support for additional image transformations in pyradiomics

See user request in https://discourse.slicer.org/t/why-is-slicerradiomics-only-partly-functional/24449

Thereby, only LoG, Wavelet and Original image types can be activated. That leaves seven other image transformations unavailable, such as exponential, logarithm, square etc… I know that a full array of image modifications can be achieved by using a Parameters file but such a file in YAML is extremely user-unfriendly for anyone who is not seasoned code developer.

Batch Processing

I have 2 questions

  1. Is there a command line way to extract radiomics of one specific structure using an RT-Struct file with many contours.

  2. Also is it possible to do this as a batch process for many patients using command line

Thanks

Add progress reporting and cancel option

When the segmentation is large computation can take a long time and the application hangs with no feedback to the user.

Even as we optimize the implementation in #256 there will always be situations that require progress reporting.

This may be challenging with the current design, because all computation is done in the main thread without progress events no mechanisms to abort a computation. That is, the ITK code to compute Feret diameter is a tight loop and our proposed replacement cmatrices code follows the same pattern as a single python call that enters a tight C loop.

I suggest we follow the threading pattern in SimpleFilters.

Radiomics extension CLI fails on mac 4.8.1

Tested Slicer 4.8.1 and it has an old version. Once we are comfortable with the CLI we should update the version of SlicerRadiomics for the stable release.

Currently the mac nightly is not available due to the qt5 transition, so there's no version for mac at the moment.

RadiomicsCLI standard error:

Traceback (most recent call last):
  File "/Applications/Slicer-4.8.1.app/Contents/Extensions-26813/SlicerRadiomics/lib/Slicer-4.8/cli-modules/SlicerRadiomicsCLIScript", line 6, in <module>
    from radiomics.scripts import commandline
  File "/Applications/Slicer-4.8.1.app/Contents/Extensions-26813/SlicerRadiomics/lib/python2.7/site-packages/radiomics/__init__.py", line 4, in <module>
    import collections  # noqa: F401
  File "/Applications/Slicer-4.8.1.app/Contents/lib/Python/lib/python2.7/collections.py", line 20, in <module>
    from _collections import deque, defaultdict
ImportError: No module named _collections



RadiomicsCLI completed with errors

SlicerRadiomics extension cannot be found on mac

Hello,
I downloaded both stable and nightly versions (5.4.0 and 5.5.0) of Slicer, installed and opened the software according to the instruction. (without any problem)

But, in the extension manager I could not find "SlicerRadiomics" extension to install on my macbook air M2, Ventura 13.2.1
On the website, the "SlicerRadiomics" can be found for Linux and Windows but not Mac OS.
I would be grateful to instruct me what should I do to be able to download and use this extension.

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.