Comments (25)
The build completed on linux, macOS and Windows. This is confirmed by the dashboard (it only reports a failure to upload and no build error) and also by running the build on the build machine:
For example, here is the output running the windows build locally:
the extensions server is getting overloaded
To clarify, our monitoring confirm this, I have been getting message from our nagios probe and as a short term solution, I just asked our sysadmin to increase the memory associated with the server.
from slicerradiomics.
@jcnils @kevin-why the extension should now be available on all platforms: http://slicer.cdash.org/index.php?project=SlicerPreview&filtercount=1&showfilters=1&field1=buildname&compare1=63&value1=radiomics
from slicerradiomics.
I couldn't find the Radiomics in the 3D Slicer extensions manager either,( in windows),is there another way to package the extension and install the extension from file? or the bug has been fixed ?
from slicerradiomics.
There are some unresolved build issues currently on windows, but it is available for linux and mac, in case that helps.
http://slicer.cdash.org/viewBuildError.php?buildid=1417242
from slicerradiomics.
Thank you @pieper, linux might help for now.
I will boot linux while keeping an eye for updates, the lab where the researchers use 3D Slicer is windows only :(
from slicerradiomics.
@fedorov @JoostJM @jcfr Any ideas about why SlicerRadiomics build is failing on windows?
from slicerradiomics.
I don't know. I took a look, but I could not see how it could be broken from inside Radiomics, and I don't know how to investigate whether something is wrong with the dashboard.
I split the earlier discussion on discourse into this thread: https://discourse.slicer.org/t/radiomics-extension-build-errors-on-windows/4616
from slicerradiomics.
@jcnils I am reopening this, since the underlying issue has not been resolved.
from slicerradiomics.
@pieper, I just took a quick look at it, and it appears to be that it is unable to build PyWavelets (_dwt.pyd is part of PyWavelets). I will investigate, but I think we may be able to fix this by using a specific PyWavelets version.
from slicerradiomics.
Thanks for investigating @JoostJM - I hope using a specific version of PyWavelets solves the problem.
from slicerradiomics.
Right, the question remains why pywavelets stopped building. In any case, using a fixed version of pywavelets makes a lot of sense.
from slicerradiomics.
There might be an incompatibility with numpy version?
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:/D/N/Slicer-0-build/python-install\libs /LIBPATH:C:/D/N/Slicer-0-build/python-install\PCbuild\amd64 /LIBPATH:C:/D/N/Slicer-0-build/python-install\PC\VS9.0\amd64 /LIBPATH:build\temp.win-amd64-2.7 c_wt.lib c_wt.lib /EXPORT:init_pywt build\temp.win-amd64-2.7\Release\pywt_extensions_pywt.obj /OUT:build\lib.win-amd64-2.7\pywt_extensions_pywt.pyd /IMPLIB:build\temp.win-amd64-2.7\Release\pywt_extensions_pywt.lib /MANIFESTFILE:build\temp.win-amd64-2.7\Release\pywt_extensions_pywt.pyd.manifest
1>_pywt.obj : warning LNK4197: export 'init_pywt' specified multiple times; using first specification
1> Creating library build\temp.win-amd64-2.7\Release\pywt_extensions_pywt.lib and object build\temp.win-amd64-2.7\Release\pywt_extensions_pywt.exp
1> building 'pywt._extensions._dwt' extension
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DPY_EXTENSION -Ipywt_extensions\c -IC:\D\N\Slicer-0-build\python-install\lib\site-packages\numpy-1.13.1-py2.7-win-amd64.egg\numpy\core\include -IC:\D\N\Slicer-0-build\python-install\include -IC:/D/N/Slicer-0-build/python-install\PC /Tcpywt_extensions_dwt.c /Fobuild\temp.win-amd64-2.7\Release\pywt_extensions_dwt.obj
1> _dwt.c
1>c:\d\n\slicer-0-build\python-install\lib\site-packages\numpy-1.13.1-py2.7-win-amd64.egg\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12): warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
1>pywt_extensions_dwt.c(3652): warning C4244: '=': conversion from 'long' to 'char', possible loss of data
1>pywt_extensions_dwt.c(5229): warning C4013: 'float_complex_dec_a' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(5247): warning C4013: 'float_complex_dec_d' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(5731): warning C4013: 'double_complex_dec_a' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(5749): warning C4013: 'double_complex_dec_d' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(6695): warning C4013: 'float_complex_downcoef_axis' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(6878): warning C4013: 'double_complex_downcoef_axis' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(7826): warning C4013: 'double_complex_idwt' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(7970): warning C4013: 'float_complex_idwt' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(9146): warning C4013: 'double_complex_idwt_axis' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(9253): warning C4013: 'float_complex_idwt_axis' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(9867): warning C4244: '=': conversion from 'long' to 'char', possible loss of data
1>pywt_extensions_dwt.c(10673): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>pywt_extensions_dwt.c(11368): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>pywt_extensions_dwt.c(11808): warning C4013: 'float_complex_rec_a' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(11913): warning C4013: 'float_complex_rec_d' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(12063): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>pywt_extensions_dwt.c(12503): warning C4013: 'double_complex_rec_a' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(12608): warning C4013: 'double_complex_rec_d' undefined; assuming extern returning int
1>pywt_extensions_dwt.c(12758): warning C4146: unary minus operator applied to unsigned type, result still unsigned
1>pywt_extensions_dwt.c(13229): warning C4244: '=': conversion from 'long' to 'char', possible loss of data
1>pywt_extensions_dwt.c(38687): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
1>pywt_extensions_dwt.c(38693): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:/D/N/Slicer-0-build/python-install\libs /LIBPATH:C:/D/N/Slicer-0-build/python-install\PCbuild\amd64 /LIBPATH:C:/D/N/Slicer-0-build/python-install\PC\VS9.0\amd64 /LIBPATH:build\temp.win-amd64-2.7 c_wt.lib c_wt.lib /EXPORT:init_dwt build\temp.win-amd64-2.7\Release\pywt_extensions_dwt.obj /OUT:build\lib.win-amd64-2.7\pywt_extensions_dwt.pyd /IMPLIB:build\temp.win-amd64-2.7\Release\pywt_extensions_dwt.lib /MANIFESTFILE:build\temp.win-amd64-2.7\Release\pywt_extensions_dwt.pyd.manifest
1>_dwt.obj : warning LNK4197: export 'init_dwt' specified multiple times; using first specification
1> Creating library build\temp.win-amd64-2.7\Release\pywt_extensions_dwt.lib and object build\temp.win-amd64-2.7\Release\pywt_extensions_dwt.exp
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_dec_a referenced in function __pyx_fuse_2__pyx_f_4pywt_11_extensions_4_dwt_dwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_dec_d referenced in function __pyx_fuse_2__pyx_f_4pywt_11_extensions_4_dwt_dwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_dec_a referenced in function __pyx_fuse_3__pyx_f_4pywt_11_extensions_4_dwt_dwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_dec_d referenced in function __pyx_fuse_3__pyx_f_4pywt_11_extensions_4_dwt_dwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_downcoef_axis referenced in function __pyx_f_4pywt_11_extensions_4_dwt_dwt_axis
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_downcoef_axis referenced in function __pyx_f_4pywt_11_extensions_4_dwt_dwt_axis
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_idwt referenced in function __pyx_f_4pywt_11_extensions_4_dwt_idwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_idwt referenced in function __pyx_f_4pywt_11_extensions_4_dwt_idwt_single
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_idwt_axis referenced in function __pyx_f_4pywt_11_extensions_4_dwt_idwt_axis
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_idwt_axis referenced in function __pyx_f_4pywt_11_extensions_4_dwt_idwt_axis
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_rec_a referenced in function __pyx_fuse_2__pyx_f_4pywt_11_extensions_4_dwt_upcoef
1>_dwt.obj : error LNK2019: unresolved external symbol float_complex_rec_d referenced in function __pyx_fuse_2__pyx_f_4pywt_11_extensions_4_dwt_upcoef
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_rec_a referenced in function __pyx_fuse_3__pyx_f_4pywt_11_extensions_4_dwt_upcoef
1>_dwt.obj : error LNK2019: unresolved external symbol double_complex_rec_d referenced in function __pyx_fuse_3__pyx_f_4pywt_11_extensions_4_dwt_upcoef
1>build\lib.win-amd64-2.7\pywt_extensions_dwt.pyd : fatal error LNK1120: 14 unresolved externals
1>CUSTOMBUILD : error : command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.exe' failed with exit status 1120
1>
It is really difficult to debug this (all build files are immediately deleted) so we would need @jcfr expertise here.
from slicerradiomics.
Slicer uses numpy 1.13.1, while pywavelet needs numpy >1.9.1, so maybe it is not related to numpy.
from slicerradiomics.
The issue is still open, which means it has not been resolved yet.
@pieper @fedorov Would it be possible to disable wavelet-based features until this gets resolved?
An option to solve this would be to use wavelets available in VTK or ITK instead (there is at least a IsotropicWavelets remote module in ITK).
from slicerradiomics.
@JoostJM is the lead on this project, we should discuss with him. I agree it makes sense to disable wavelets until this is resolved.
@lassoan can you reproduce this issue with a local build? I don't even have a Slicer build set up on Windows that I can access to investigate this.
from slicerradiomics.
Yes, I can reproduce it. It is very hard to debug this, as it uses python scripts to create temporary build files that immediately disappear after the build is finished. I don't even know where can I find the Python file that I could change to prevent deleting of the build files so that I can investigate further.
Since pywavelets only supports 2D wavelets anyway, I'm not sure if it is worth the time investigating it.
from slicerradiomics.
+1 for disabling wavelets, at least on Windows, until this can be nailed down. There are lots of other features people would want to calculated and we've heard from a lot of users looking for this extension on windows.
from slicerradiomics.
I'll disable wavelets for now.
@lassoan, In PyRadiomics, we apply 3D wavelets by applying filters sequentially in row-column-slice.
Still, I'm really interested in the ITK/VTK implementation, it certainly warrants investigation into if this is easily implementable in PyRadiomics.
from slicerradiomics.
Short update, I now forced PyWavelet version to 1.0.0, which was released on august 31st, this year. Hopefully this fixes the build.
Looking at the release notes, it may be possible that this will fail as well, as complex number support was added in version 1.0.0. If it fails, I'll revert to the version before that (0.5.2).
from slicerradiomics.
It is now failing on all platforms, but it looks like a completely different issue:
http://slicer.cdash.org/index.php?project=SlicerPreview&filtercount=1&showfilters=1&field1=buildname&compare1=63&value1=radiomics
I will join the Slicer hangout today with the hope to get attention of the folks maintaining the dashboard.
from slicerradiomics.
from slicerradiomics.
Thanks JC, this would be great.
Do you have any ideas about the earlier failure as discussed in this issue and in https://discourse.slicer.org/t/radiomics-extension-build-errors-on-windows/4616?
Based on the current errors, do you know if the earlier issue was resolved, or the failure we observe now is happening earlier in the build process?
from slicerradiomics.
if I install an older version of 3D slicer, will radiomics extension work?
from slicerradiomics.
@emanradiology, depends on the version. If it is available in the extensions manager there is a high chance it will work. Beware however that this may use an older version of PyRadiomics (for differences between versions, see the release notes)
What version of Slicer are you planning to use?
from slicerradiomics.
To check the version of PyRadiomics installed, type the following in the python interactor in slicer:
import radiomics
radiomics.__version__
from slicerradiomics.
Related Issues (20)
- Slicer Radiomics HOT 1
- Batch Processing HOT 5
- voxel based feature extraction HOT 1
- SlicerRadiomics extension not available for Slicer 4.11.0 on Mac OS HOT 9
- Feature calculation failed on windows HOT 2
- Resampling and LoG filtering fail when done at the same time. HOT 2
- How to create Mask file of segmentation? HOT 2
- Radiomics does not work in latest stable release of Slicer HOT 31
- Install SlicerRadiomics From 3D Slicer on MAC 10.15.5 HOT 3
- No module named radiomics
- Unable to install SlicerRadiomics on Windows from ExtensionsManager
- Cannot use the module with input mask defined by a segmentation node
- Fix extension build HOT 2
- Grant maintainer access to slicer core developers HOT 4
- Add support for additional image transformations in pyradiomics
- Add support for BATCH mode
- SlicerRadiomics unavailable for macOS since Slicer Preview 5.3.0 as of 2023-03-31 HOT 19
- SlicerRadiomics extension cannot be found on mac HOT 2
- Add UI control for normalization option
- Error extracting features HOT 14
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 slicerradiomics.