This is an open-source python package for the extraction of Radiomics features from medical imaging.
With this package we aim to establish a reference standard for Radiomic Analysis, and provide a tested and maintained open-source platform for easy and reproducible Radiomic Feature extraction. By doing so, we hope to increase awareness of radiomic capabilities and expand the community.
The platform supports both the feature extraction in 2D and 3D and can be used to calculate single values per feature for a region of interest ("segment-based") or to generate feature maps ("voxel-based").
Not intended for clinical use.
If you publish any work which uses this package, please cite the following publication: van Griethuysen, J. J. M., Fedorov, A., Parmar, C., Hosny, A., Aucoin, N., Narayan, V., Beets-Tan, R. G. H., Fillion-Robin, J. C., Pieper, S., Aerts, H. J. W. L. (2017). Computational Radiomics System to Decode the Radiographic Phenotype. Cancer Research, 77(21), e104–e107. https://doi.org/10.1158/0008-5472.CAN-17-0339
Join the PyRadiomics community on google groups here.
Currently supports the following feature classes:
Aside from the feature classes, there are also some built-in optional filters:
Aside from calculating features, the pyradiomics package includes provenance information in the output. This information contains information on used image and mask, as well as applied settings and filters, thereby enabling fully reproducible feature extraction.
For more information, see the sphinx generated documentation available here.
Alternatively, you can generate the documentation by checking out the master branch and running from the root directory:
python setup.py build_sphinx
The documentation can then be viewed in a browser by opening
Furthermore, an instruction video is available here.
PyRadiomics is OS independent and compatible with Python >= 3.5. Pre-built binaries are available on PyPi and Conda. To install PyRadiomics, ensure you have python installed and run:
`python -m pip install pyradiomics`
Detailed installation instructions, as well as instructions for building PyRadiomics from source, are available in the documentation.
PyRadiomics also supports Dockers. Currently, 2 dockers are available:
The first one is a Jupyter notebook with PyRadiomics pre-installed with example Notebooks.
To get the Docker:
docker pull radiomics/pyradiomics:latest
radiomics/notebook Docker has an exposed volume (
/data) that can be mapped to the host system directory. For example, to mount the current directory:
docker run --rm -it --publish 8888:8888 -v `pwd`:/data radiomics/notebook
or for a less secure notebook, skip the randomly generated token
docker run --rm -it --publish 8888:8888 -v `pwd`:/data radiomics/notebook start-notebook.sh --NotebookApp.token=''
and open the local webpage at http://localhost:8888/ with the current directory at http://localhost:8888/tree/data.
The second is a docker which exposes the PyRadiomics CLI interface. To get the CLI-Docker:
docker pull radiomics/pyradiomics:CLI
You can then use the PyRadiomics CLI as follows:
docker run radiomics/pyradiomics:CLI --help
For more information on using docker, see here
PyRadiomics can be easily used in a Python script through the
module. Furthermore, PyRadiomics provides a commandline script,
pyradiomics, for both single image extraction and
batchprocessing. Finally, a convenient front-end interface is provided as the 'Radiomics'
extension for 3D Slicer, available here.
See also the requirements file.
This package is covered by the open source 3-clause BSD License.
1Department of Radiation Oncology, Dana-Farber Cancer Institute, Brigham and Women's Hospital, Harvard Medical School, Boston, MA, 2Department of Radiology, Brigham and Women's Hospital, Harvard Medical School, Boston, MA, 3Department of Radiology, Netherlands Cancer Institute, Amsterdam, The Netherlands, 4GROW-School for Oncology and Developmental Biology, Maastricht University Medical Center, Maastricht, The Netherlands, 5Kitware, 6Isomics
We are happy to help you with any questions. Please contact us on the Radiomics community section of the 3D Slicer Discourse.
We welcome contributions to PyRadiomics. Please read the contributing guidelines on how to contribute to PyRadiomics.
This work was supported in part by the US National Cancer Institute grant 5U24CA194354, QUANTITATIVE RADIOMICS SYSTEM DECODING THE TUMOR PHENOTYPE.