Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

pyradiomics v3.0.1

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 Cooccurence 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-fix 3.0.1.dev4

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-fix 3.0.1.dev4
File Size Uploaded
pyradiomics-fix-3.0.1.dev4.tar.gz 34.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyradiomics-fix 3.0.1.dev4
File
pyradiomics_fix-3.0.1.dev4-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pyradiomics_fix-3.0.1.dev4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details
pyradiomics_fix-3.0.1.dev4-cp310-cp310-macosx_12_0_arm64.whl CPython 3.10 CPython 3.10 macOS 12.0+ ARM64 Details
pyradiomics_fix-3.0.1.dev4-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
pyradiomics_fix-3.0.1.dev4-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pyradiomics_fix-3.0.1.dev4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details
pyradiomics_fix-3.0.1.dev4-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details

Total release size: 35.4 MB

Release files / pyradiomics-fix-3.0.1.dev4.tar.gz

Download URL pyradiomics-fix-3.0.1.dev4.tar.gz
Size 34.5 MB
Tags Source
SHA-256 checksum
How to use checksums
015f9fc58f79c01f1ded8ea4d45a10dbe3cab0fc77e454fbf5ccdad0e31c68da
BLAKE2b-256 checksum
How to use checksums
474d63406c6341164ceab3c5e7a563984776b65f850f94f673f8a35593fa8b05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / pyradiomics_fix-3.0.1.dev4-cp310-cp310-win_amd64.whl

Download URL pyradiomics_fix-3.0.1.dev4-cp310-cp310-win_amd64.whl
Size 127.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
fbe1ae6a3977a706610af67212300c63146110863ab528b09a814cb243c2dae6
BLAKE2b-256 checksum
How to use checksums
1af7de112c5fd83da27edab701f0651534f56eca992e3bc7f28cde6bf207ec34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / pyradiomics_fix-3.0.1.dev4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyradiomics_fix-3.0.1.dev4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 184.2 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
c150c4cc7d94506dde4f3b6aae22983ae698254fe6ae1782a5195cd2fd15987b
BLAKE2b-256 checksum
How to use checksums
8954d577d31f0c19c03aa54602796c115e4d3737b963eeadbda45c832533b1cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / pyradiomics_fix-3.0.1.dev4-cp310-cp310-macosx_12_0_arm64.whl

Download URL pyradiomics_fix-3.0.1.dev4-cp310-cp310-macosx_12_0_arm64.whl
Size 122.5 kB
Tags CPython 3.10 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
42fa5ca8e40be870c9140a0b8e1cd45fd4fa120fd371e0c1196e858dca83362b
BLAKE2b-256 checksum
How to use checksums
c520544575d6ca5e92c713c17ead08781a63e5f008414f9ea02c1a1e78c1c1d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / pyradiomics_fix-3.0.1.dev4-cp310-cp310-macosx_10_9_x86_64.whl

Download URL pyradiomics_fix-3.0.1.dev4-cp310-cp310-macosx_10_9_x86_64.whl
Size 122.5 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
bdd09ec169cc6bb86b0ce62be2e3276c6f8263d89fceb826c75b9963b2514ba1
BLAKE2b-256 checksum
How to use checksums
4b3942fb2d586f749e75fc54b932115dd2c8350bf3b47ef6388fd55029c57ca3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / pyradiomics_fix-3.0.1.dev4-cp39-cp39-win_amd64.whl

Download URL pyradiomics_fix-3.0.1.dev4-cp39-cp39-win_amd64.whl
Size 127.2 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
745121ed5002f5a815ae92dbe72a4a973fdde561bc1aecf485469a65ce680c7b
BLAKE2b-256 checksum
How to use checksums
d2f59a0cfcfdb3b2641f294fe938c85d89b2bcf91e81e6f94f8cfbbc280c292b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / pyradiomics_fix-3.0.1.dev4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pyradiomics_fix-3.0.1.dev4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 183.9 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
35b36ca2d0690a9723d06a176abc366d2e53c66c7d576cdcc874ffe42b67e30b
BLAKE2b-256 checksum
How to use checksums
d24fd1007c880a9275aef11c2d48a09d1e47f175b2e94d44920e9a0391485a8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / pyradiomics_fix-3.0.1.dev4-cp39-cp39-macosx_10_9_x86_64.whl

Download URL pyradiomics_fix-3.0.1.dev4-cp39-cp39-macosx_10_9_x86_64.whl
Size 122.5 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
1078aa09e581f7bd96d90841aba94bef3b8c6cf1800233175df92aec9f64a9d8
BLAKE2b-256 checksum
How to use checksums
134534f4886658afceac3f9385b9907fa6547e96a380ebd40e903efc5deb335e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6
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