Skip to main content

pyradiomics v3.1.0

Build Status

Linux / MacOS Windows

Radiomics feature extraction in Python

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 Community!

Please join the Radiomics community section of the 3D Slicer Discourse.

Feature Classes

Currently supports the following feature classes:

  • First Order Statistics
  • Shape-based (2D and 3D)
  • Gray Level Co-occurrence Matrix (GLCM)
  • Gray Level Run Length Matrix (GLRLM)
  • Gray Level Size Zone Matrix (GLSZM)
  • Gray Level Dependece Matrix (GLDM)
  • Neighboring Gray Tone Difference Matrix (NGTDM)

Filter Classes

Aside from the feature classes, there are also some built-in optional filters:

  • Laplacian of Gaussian (LoG, based on SimpleITK functionality)
  • Wavelet (using the PyWavelets package)
  • Square
  • Square Root
  • Logarithm
  • Exponential
  • Gradient (Magnitude)
  • Local Binary Pattern (LBP) 2D / 3D

Supporting reproducible extraction

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.

Documentation

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 PACKAGE_ROOT\build\sphinx\html\index.html.

Furthermore, an instruction video is available here.

Installation

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.

Docker

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

The 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

Usage

PyRadiomics can be easily used in a Python script through the featureextractor 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.

3rd-party packages used in pyradiomics:

  • SimpleITK (Image loading and preprocessing)
  • numpy (Feature calculation)
  • PyWavelets (Wavelet filter)
  • pykwalify (Enabling yaml parameters file checking)
  • six (Python 3 Compatibility)
  • scipy (Only for LBP filter, install separately to enable this filter)
  • scikit-image (Only for LBP filter, install separately to enable this filter)
  • trimesh (Only for LBP filter, install separately to enable this filter)

See also the requirements file.

3D Slicer

PyRadiomics is also available as an extension to 3D Slicer. Download and install the 3D slicer nightly build, the extension is then available in the extension manager under "SlicerRadiomics".

License

This package is covered by the open source 3-clause BSD License.

Developers

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

Contact

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 grants: U24CA194354 - QUANTITATIVE RADIOMICS SYSTEM DECODING THE TUMOR PHENOTYPE and U01CA190234 - TUMOR GENOTYPE AND RADIOMIC PHENOTYPE IN LUNG CANCER

Release files for pyradiomics 3.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyradiomics 3.1.0
File Size Uploaded
pyradiomics-3.1.0.tar.gz 34.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyradiomics 3.1.0
File
pyradiomics-3.1.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pyradiomics-3.1.0-cp39-cp39-manylinux1_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-64 Details
pyradiomics-3.1.0-cp39-cp39-macosx_11_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 11.0+ x86-64 Details
pyradiomics-3.1.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
pyradiomics-3.1.0-cp38-cp38-manylinux1_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-64 Details
pyradiomics-3.1.0-cp38-cp38-macosx_11_0_x86_64.whl CPython 3.8 CPython 3.8 macOS 11.0+ x86-64 Details
pyradiomics-3.1.0-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
pyradiomics-3.1.0-cp37-cp37m-manylinux1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64 Details
pyradiomics-3.1.0-cp37-cp37m-macosx_11_0_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 11.0+ x86-64 Details

Total release size: 35.7 MB

Release files / pyradiomics-3.1.0.tar.gz

Download URL pyradiomics-3.1.0.tar.gz
Size 34.5 MB
Tags Source
SHA-256 checksum
How to use checksums
24722c962a6bbd09bc39c1c67dbffe92435f9692a421fabaae8a6b4511eb48e4
BLAKE2b-256 checksum
How to use checksums
03c120fc2c50ab1e3304da36d866042a1905a2b05a1431ece35448ab6b4578f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / pyradiomics-3.1.0-cp39-cp39-win_amd64.whl

Download URL pyradiomics-3.1.0-cp39-cp39-win_amd64.whl
Size 123.0 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
1411f19206a844404110e31c9a211b0e10ae6e32b04153747c7c139fa466fcec
BLAKE2b-256 checksum
How to use checksums
0c429bcefd036d0170295df6a545433548917c71687e029bae9d87e8a720432d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release files / pyradiomics-3.1.0-cp39-cp39-manylinux1_x86_64.whl

Download URL pyradiomics-3.1.0-cp39-cp39-manylinux1_x86_64.whl
Size 177.9 kB
Tags CPython 3.9 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
2975209dbbed49e7fad241db0cfc15d1ba5fadb85b612410bee55ed3fefde2f1
BLAKE2b-256 checksum
How to use checksums
9337a1a66918ee9f8f1e8339a9a203317d20e478ecb11f5a350e31ab7a318a04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / pyradiomics-3.1.0-cp39-cp39-macosx_11_0_x86_64.whl

Download URL pyradiomics-3.1.0-cp39-cp39-macosx_11_0_x86_64.whl
Size 116.6 kB
Tags CPython 3.9 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
8552b9cfa77502ff071d7cb8a1aa3388d23abbce5ea0819864128469c9139a1e
BLAKE2b-256 checksum
How to use checksums
d00980f28d9dd26e6952d779f2fff6fc37a61a6f5bbfcfc7bd96864a7b84fa9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / pyradiomics-3.1.0-cp38-cp38-win_amd64.whl

Download URL pyradiomics-3.1.0-cp38-cp38-win_amd64.whl
Size 123.0 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
9995545f54e3a0a1bbeb415b3fbea4927bd7e9cddee78c47e519912dc44f43c3
BLAKE2b-256 checksum
How to use checksums
d76cb3c07f288705ab449cc622fa6af3b0d136d5fc1bcda57d1200e7db8b5073
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / pyradiomics-3.1.0-cp38-cp38-manylinux1_x86_64.whl

Download URL pyradiomics-3.1.0-cp38-cp38-manylinux1_x86_64.whl
Size 190.4 kB
Tags CPython 3.8 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
10992eff5ce2582f5ecc22f2fa15e748fc434a33a5bc1ae8e374d387e1369785
BLAKE2b-256 checksum
How to use checksums
25518c18db58b3b31235660763292f0bfdc3dac329c367ed0654db707e10bce5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / pyradiomics-3.1.0-cp38-cp38-macosx_11_0_x86_64.whl

Download URL pyradiomics-3.1.0-cp38-cp38-macosx_11_0_x86_64.whl
Size 116.6 kB
Tags CPython 3.8 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
707ebb304b78acbf5dc451608bc8f93c74da1a96581b328260c1a32dc8ba2400
BLAKE2b-256 checksum
How to use checksums
3c98afe8b61642858f08a2ba3909007746a307d0efe4d29f68466bc6c7aef739
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / pyradiomics-3.1.0-cp37-cp37m-win_amd64.whl

Download URL pyradiomics-3.1.0-cp37-cp37m-win_amd64.whl
Size 121.9 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
c272422a20309db39b9dbb5bd7f73f6b49a85ea5762b608a408a7e44a5822c4e
BLAKE2b-256 checksum
How to use checksums
c6b238031caf5524b8f82c176dfffeaf5b1f01074a377598d09d31f20a6c7a05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.9

Release files / pyradiomics-3.1.0-cp37-cp37m-manylinux1_x86_64.whl

Download URL pyradiomics-3.1.0-cp37-cp37m-manylinux1_x86_64.whl
Size 173.1 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
dfd08864f572735884c47edda62204df53179e3a9e57c94e87008440dcd2b06b
BLAKE2b-256 checksum
How to use checksums
6c1fff8354cfbed3e3984de641e29446bea288ab429db7b4cd965e3270f72481
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.16

Release files / pyradiomics-3.1.0-cp37-cp37m-macosx_11_0_x86_64.whl

Download URL pyradiomics-3.1.0-cp37-cp37m-macosx_11_0_x86_64.whl
Size 115.7 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
4693b9dcc1543d3d41b9762a3bf1ad371c77cc4bfb8dafab4611075defe50689
BLAKE2b-256 checksum
How to use checksums
ef9760be4ded55869f9243d18ed1ba9ef8f9e805f1103076b19163ea0520fa43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

3.1.0 This release

10 release files

3.0.1

8 release files

3.0

8 release files

2.1.1

13 release files

2.1.0

13 release files

2.0.1

13 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page