Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: medrxiv.org, zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (18.7%) to scientific vocabulary
Repository
Workflow for Optimal Radiomics Classification
Basic Info
- Host: GitHub
- Owner: MStarmans91
- License: other
- Language: Python
- Default Branch: master
- Size: 503 MB
Statistics
- Stars: 76
- Watchers: 7
- Forks: 19
- Open Issues: 8
- Releases: 32
Metadata Files
README.md
WORC: Workflow for Optimal Radiomics Classification (v3.7.0)
Information
| Unit test | Documentation | PyPi |Citing WORC |
|--------------------------------|-------------------------------|-------------------------------|---------------------|
| |
|
|
|
Introduction
WORC (Workflow for Optimal Radiomics Classification) is an open-source Python package that provides an end-to-end pipeline for fully automatic optimization of radiomics models, facilitating easy and systematic data probing for radiomics signatures by automatically comparing and combining thousand radiomics methods.
🔍 Key Features
- ✅ End-to-End Pipeline: Everythong from imaging data and segmentations to performance evaluation.
- 🧪 Modular Design: Easily integrate custom classifiers, feature selectors, or workflows.
- 🏥 Domain Focused: Designed and tested on 30+ multicenter medical datasets.
- 📁 Multi-modal Input: Supports multiple image modalities, regions, custom features, and clinical data.
- 📊 Explainability Tools: Built-in feature ranking and visualization utilities.
- 🔁 Robust Optimization: Nested cross-validation and sample size-based confidence interval estimation.

📦 Installation
WORC is tested on Python 3.11.5 on Ubuntu, Windows, and Mac. For detailed installation instructions, please check the ReadTheDocs installation guidelines.
The package can be installed through pip:
pip install WORC
Or directly from the repository for development:
git clone https://github.com/MStarmans91/WORC.git
cd WORC
pip install .
📚 Tutorial, documentation and dataset
The WORC tutorial is hosted at https://github.com/MStarmans91/WORCTutorial. For your first use, we recommend to start with the SimpleWORC tutorial.
The official documentation can be found at https://worc.readthedocs.io.
The publicly released WORC database is described in the following paper:
bibtex
@article {Starmans2021WORCDatabase,
author = {Starmans, Martijn P.A. and Timbergen, Milea J.M. and Vos, Melissa and Padmos, Guillaume A. and Gr{\"u}nhagen, Dirk J. and Verhoef, Cornelis and Sleijfer, Stefan and van Leenders, Geert J.L.H. and Buisman, Florian E. and Willemssen, Francois E.J.A. and Koerkamp, Bas Groot and Angus, Lindsay and van der Veldt, Astrid A.M. and Rajicic, Ana and Odink, Arlette E. and Renckens, Michel and Doukas, Michail and de Man, Rob A. and IJzermans, Jan N.M. and Miclea, Razvan L. and Vermeulen, Peter B. and Thomeer, Maarten G. and Visser, Jacob J. and Niessen, Wiro J. and Klein, Stefan},
title = {The WORC database: MRI and CT scans, segmentations, and clinical labels for 930 patients from six radiomics studies},
elocation-id = {2021.08.19.21262238},
year = {2021},
doi = {10.1101/2021.08.19.21262238},
URL = {https://www.medrxiv.org/content/early/2021/08/25/2021.08.19.21262238},
eprint = {https://www.medrxiv.org/content/early/2021/08/25/2021.08.19.21262238.full.pdf},
journal = {medRxiv}
}
The code to download the WORC database and reproduce our experiments can be found at https://github.com/MStarmans91/WORCDatabase.
📄 License
This package is covered by the open source APACHE 2.0 License.
When using WORC, please cite this repository and the paper describing WORC as follows:
```bibtex @article{starmans2021reproducible, title = {Reproducible radiomics through automated machine learning validated on twelve clinical applications}, author = {Martijn P. A. Starmans and Sebastian R. van der Voort and Thomas Phil and Milea J. M. Timbergen and Melissa Vos and Guillaume A. Padmos and Wouter Kessels and David Hanff and Dirk J. Grunhagen and Cornelis Verhoef and Stefan Sleijfer and Martin J. van den Bent and Marion Smits and Roy S. Dwarkasing and Christopher J. Els and Federico Fiduzi and Geert J. L. H. van Leenders and Anela Blazevic and Johannes Hofland and Tessa Brabander and Renza A. H. van Gils and Gaston J. H. Franssen and Richard A. Feelders and Wouter W. de Herder and Florian E. Buisman and Francois E. J. A. Willemssen and Bas Groot Koerkamp and Lindsay Angus and Astrid A. M. van der Veldt and Ana Rajicic and Arlette E. Odink and Mitchell Deen and Jose M. Castillo T. and Jifke Veenland and Ivo Schoots and Michel Renckens and Michail Doukas and Rob A. de Man and Jan N. M. IJzermans and Razvan L. Miclea and Peter B. Vermeulen and Esther E. Bron and Maarten G. Thomeer and Jacob J. Visser and Wiro J. Niessen and Stefan Klein}, year = {2021}, eprint = {2108.08618}, archivePrefix = {arXiv}, primaryClass = {eess.IV} }
@software{starmans2018worc, author = {Martijn P. A. Starmans and Thomas Phil and Sebastian R. van der Voort and Stefan Klein}, title = {Workflow for Optimal Radiomics Classification (WORC)}, year = {2018}, publisher = {Zenodo}, doi = {10.5281/zenodo.3840534}, url = {https://github.com/MStarmans91/WORC} } ```
Contact
We are happy to help you with any questions. Please sent us a mail or place an issue on the Github.
Optional extra features
Besides the default installation, there are several optional packages you could install to support WORC.
Graphviz
WORC can draw the network and save it as a SVG image using graphviz. In order to do so, please make sure you install graphviz. On Ubuntu, simply run
apt install graphiv
On Windows, follow the installation instructions provided on the graphviz website. Make sure you add the executable to the PATH when prompted.
Elastix
Image registration is included in WORC through elastix and transformix.
In order to use elastix, please download the binaries and place them in your
fastr.config.mounts['apps'] path. Check the elastix tool description for the correct
subdirectory structure. For example, on Linux, the binaries and libraries should be in "../apps/elastix/4.8/install/" and
"../apps/elastix/4.8/install/lib" respectively.
Note: optionally, you can tell WORC to copy the metadata from the image file to the segmentation file before applying the deformation field. This requires ITK and ITKTools: see the ITKTools github for installation instructions.
XNAT
We use the XNATpy package to connect the toolbox to the XNAT online database platforms. You will only need this when you use the example dataset we provided, or if you want to download or upload data from or to XNAT. We advise you to specify your account settings in a .netrc file when using this feature for your own datasets, such that you do not need to input them on every request.
Owner
- Name: Martijn P. A. Starmans
- Login: MStarmans91
- Kind: user
- Website: https://mstarmans91.github.io/
- Repositories: 5
- Profile: https://github.com/MStarmans91
PostDoc AI for medical imaging @ Erasmus Medical Center
GitHub Events
Total
- Create event: 2
- Release event: 1
- Issues event: 1
- Watch event: 7
- Delete event: 1
- Push event: 30
- Pull request event: 2
Last Year
- Create event: 2
- Release event: 1
- Issues event: 1
- Watch event: 7
- Delete event: 1
- Push event: 30
- Pull request event: 2
Committers
Last synced: about 3 years ago
All Time
- Total Commits: 1,285
- Total Committers: 10
- Avg Commits per committer: 128.5
- Development Distribution Score (DDS): 0.391
Top Committers
| Name | Commits | |
|---|---|---|
| mitchelldeen | m****n@o****m | 782 |
| MStarmans91 | m****s@e****l | 447 |
| Thomas | t****l@e****l | 19 |
| t.phil | t****s@t****l | 16 |
| Martijn | m****s@a****r | 7 |
| Martijn | m****s@a****r | 6 |
| Svdvoort | S****t@u****m | 3 |
| Martijn | m****s@a****r | 2 |
| Thomas Phil | S****d@u****m | 2 |
| MStarmans91 | m****r@i****x | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 27
- Total pull requests: 64
- Average time to close issues: 2 months
- Average time to close pull requests: 2 days
- Total issue authors: 17
- Total pull request authors: 5
- Average comments per issue: 2.78
- Average comments per pull request: 0.06
- Merged pull requests: 60
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 2
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 2
- Pull request authors: 0
- Average comments per issue: 1.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- josemanuel097 (4)
- BartWitjes (3)
- lyhyl (2)
- bgielen (2)
- xinyiwan (2)
- auxiliumx (2)
- JZK00 (1)
- hitagisknife (1)
- Lieke2306 (1)
- jonasboh (1)
- ZhaooooooYUE (1)
- mareksocha (1)
- Douwe-Spaanderman (1)
- pianoza (1)
- steflbert (1)
Pull Request Authors
- MStarmans91 (52)
- mitchelldeen (6)
- Sikerdebaard (6)
- dependabot[bot] (2)
- lyhyl (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- emcee ==3.0.2
- h5py >=2.10.0
- pyDOE >=0.3.8
- scikit-optimize >=0.7.4
- PREDICT >=3.1.15
- SimpleITK >=1.2.0,<=2.0.2
- configparser >=3.5.0
- drmaa >=0.7.6
- fastr >=3.2.3
- ghalton >=0.6.1
- imbalanced-learn ==0.7.0
- jsonschema >=3.0.0,<4.0
- lifelines >=0.21.1
- natsort >=5.0.1
- neuroCombat >=0.2.3
- nose >=1.3.7
- nose-parameterized >=0.5.0
- numpy >=1.16.3
- pandas >=0.24.2
- pyOpenSSL >=16.2.0
- pydicom >=1.2.2
- python-dateutil <=2.8.0
- pyyaml >=5.3.1
- scikit-learn ==0.23.1
- scipy >=1.2.1,<=1.5.4
- six >=1.10.0
- sphinx >=1.4
- tables >=3.5.1
- tikzplotlib >=0.9.3
- tqdm >=4.7.1
- xgboost ==1.2.1
- xlrd >=1.2.0
- xnat >=0.2.2
- drmaa * test
- fastr * test
- nose * test
- nose-parameterized * test
- six * test
- sphinx * test
- tables * test
- tqdm * test
- xnat * test
- actions/checkout v2 composite
- actions/setup-python v2 composite
