WORC: Workflow for Optimal Radiomics Classification¶
Welcome to the WORC documentation!¶
WORC is an open-source python package for the fully automatic execution of end-to-end radiomics pipelines. Using automated machine learning, WORC automatically determines the optimal combination from a wide variety of radiomics methods and parameters to develop a radiomics model on your dataset. Thereby, performing a radiomics study is effectively reduced to a black box with a push button, where you simply have to input your data and WORC will adapt the workflow to your application. Thus, WORC is especially suitable for the fast development of signatures and probing datasets for new biomarkers.
Note
Despite the name, besides classification, WORC can actually also be used for regression and multilabel classification. See for more details the Additional functionality chapter.
We aim to establish a general radiomics platform supporting easy integration of other tools. With our modular build and support of different software languages (Python, MATLAB, R, executables etc.), we want to facilitate and stimulate collaboration, standardisation and comparison of different radiomics approaches. By combining this in a single framework, we hope to find an universal radiomics strategy that can address various problems.
WORC is open-source (licensed under the Apache 2.0 license) and hosted on Github at https://github.com/MStarmans91/WORC
For support, go to the issues on the Gibhub page: https://github.com/MStarmans91/WORC/issues
To get yourself a copy, see the Installation chapter.
The official documentation can be found at WORC.readthedocs.io.
For Tutorials on WORC, both for beginner and advanced WORCflows, please see our Tutorial repository https://github.com/MStarmans91/WORCTutorial.
The preprint of the WORC article, the WORC database, and my PhD thesis in which I developped WORC can be found here:
For more information regarding radiomics, we recommend the following book chapter:
The article on WORC is currently in preparation. WORC among others has been presented at the following conferences:
WORC has among others been used in the following studies:
WORC is made possible by contributions from the following people: Martijn P. A. Starmans, Sebastian R. van der Voort, Thomas Phil, and Stefan Klein
WORC Documentation¶
- Introduction
- Quick start guide
- User Manual
- Configuration
- Radiomics Features
- Additional functionality
- FAQ
- Installation
- Execution errors
- My experiment crashed, where to begin looking for errors?
- Error:
fastr.exceptions.FastrValueError: [...] FastrValueError from `` ``.../fastr/execution/job.py line 834: Output values are not valid! - Error:
File "H5FDsec2.c", line 941, in H5FD_sec2_lock unable to lock file,errno = 37, error message = 'No locks available' - Error:
Failed building wheel for cryptography(occurs often on BIGR cluster) - Error:
WORC.addexceptions.WORCValueError: First column in the filegiven to SimpleWORC().labels_from_this_file(**) needs to be named Patient. - Error:
WORC.addexceptions.WORCKeyError: 'No entry found in labelingfor feature file .../feat_out_0.hdf5.' - Error:
File "...\lib\site-packages\numpy\lib\function_base.py", line 4406, in deletekeep[obj,] = False IndexError: arrays used as indices must be of integer (or boolean) type - I get (many) errors related to PyRadiomics
- Error:
ValueError: Image/Mask geometry mismatch. Potential fix: increase tolerance using geometryTolerance, see Documentation:Usage:Customizing the Extraction:Settings:geometryTolerance for more information"
- Other
- I am working on the BIGR cluster and would like some jobs to be submitted to different queues
- Can I use my own features instead of the standard
WORCfeatures? - How to change the temporary and output folders?
- How can I get the performance on the validation dataset?
- My jobs on the BIGR cluster get cancelled due to memory errors
- Why are you still only supporting Python 3.6, 3.7 and 3.8?
- Developer documentation
- References
- Changelog
- 3.7.0 - Unreleased
- 3.6.3 - Unreleased
- 3.6.2 - 2023-03-14
- 3.6.1 - 2023-02-15
- 3.6.0 - 2022-04-05
- 3.5.0 - 2021-08-18
- 3.4.5 - 2021-07-09
- 3.4.4 - 2021-07-01
- 3.4.3 - 2021-06-02
- 3.4.2 - 2021-05-27
- 3.4.1 - 2021-05-18
- 3.4.0 - 2021-02-02
- 3.3.5 - 2020-10-21
- 3.3.4 - 2020-10-06
- 3.3.3 - 2020-09-11
- 3.3.2 - 2020-08-19
- 3.3.1 - 2020-07-31
- 3.3.0 - 2020-07-28
- 3.2.2 - 2020-07-14
- 3.2.1 - 2020-07-02
- 3.2.0 - 2020-06-26
- 3.1.4 - 2020-05-26
- 3.1.3 - 2020-01-24
- 3.1.2 - 2019-12-09
- 3.1.1 - 2019-11-28
- 3.1.0 - 2019-10-16
- 3.0.0 - 2019-05-08
- 2.1.3 - 2019-04-08
- 2.1.2 - 2019-04-02
- 2.1.1 - 2019-02-15
- 2.1.0 - 2018-08-09
- 2.0.0 - 2018-02-13
- 1.0.0rc1 - 2017-05-08
WORC User reference¶
WORC Developer Module reference¶
- WORC Package
WORCPackageWORCModuleToolsWORCWORC.__dict__WORC.__init__()WORC.__module__WORC.__weakref__WORC.add_ComBat()WORC.add_elastix()WORC.add_elastix_sourcesandsinks()WORC.add_evaluation()WORC.add_feature_calculator()WORC.add_fingerprinter()WORC.add_preprocessing()WORC.add_segmentix()WORC.add_tools()WORC.build()WORC.build_inference()WORC.build_training()WORC.defaultconfig()WORC.execute()WORC.save_config()WORC.set()
addexceptionsModule- Subpackages
- IOparser Package
- classification Package
- detectors Package
- exampledata Package
- export Package
- facade Package
- fastrconfig Package
- featureprocessing Package
featureprocessingPackageComBatModuleDecompositionModuleFeatureConverterModuleICCThresholdModuleImputerModuleOneHotEncoderWrapperModulePreprocessorModuleReliefModuleScalersModuleSelectGroupsModuleSelectIndividualsModuleStatisticalTestFeaturesModuleStatisticalTestThresholdModuleVarianceThresholdModule
- plotting Package
plottingPackagelinstretchModuleplot_ROCModuleplot_barchartModuleplot_boxplot_featuresModuleplot_boxplot_performanceModuleplot_errorsModuleplot_estimator_performanceModuleplot_hyperparametersModuleplot_imagesModuleplot_pvalues_featuresModuleplot_ranked_scoresModuleplotminmaxresponseModule
- processing Package
- resources Package
- statistics Package
- tests Package
- tools Package
- validators Package