Skip to main content

Radiomics features library for python

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyradiomics-3.0.1a3.tar.gz (34.5 MB view details)

Uploaded Source

Built Distributions

pyradiomics-3.0.1a3-cp39-cp39-manylinux1_x86_64.whl (178.2 kB view details)

Uploaded CPython 3.9

pyradiomics-3.0.1a3-cp39-cp39-macosx_11_0_x86_64.whl (116.9 kB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

pyradiomics-3.0.1a3-cp38-cp38-manylinux1_x86_64.whl (181.8 kB view details)

Uploaded CPython 3.8

pyradiomics-3.0.1a3-cp38-cp38-macosx_11_0_x86_64.whl (116.9 kB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

pyradiomics-3.0.1a3-cp37-cp37m-manylinux1_x86_64.whl (173.7 kB view details)

Uploaded CPython 3.7m

pyradiomics-3.0.1a3-cp37-cp37m-macosx_11_0_x86_64.whl (116.2 kB view details)

Uploaded CPython 3.7m macOS 11.0+ x86-64

File details

Details for the file pyradiomics-3.0.1a3.tar.gz.

File metadata

  • Download URL: pyradiomics-3.0.1a3.tar.gz
  • Upload date:
  • Size: 34.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for pyradiomics-3.0.1a3.tar.gz
Algorithm Hash digest
SHA256 11795e5537ba3b2d864fce06ca4b3de883b8c316af336ca94e4aa14200368ce3
MD5 cba50449d29ae51ec0593e9d70e4d1b1
BLAKE2b-256 defd6e6fb356ed95eb9b4a13fd4c4e65efb211977d799342ce8d2320da82d211

See more details on using hashes here.

File details

Details for the file pyradiomics-3.0.1a3-cp39-cp39-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyradiomics-3.0.1a3-cp39-cp39-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4d58905cca2c3e33cc352802e8e999fa9bf7d4debbeae6073f8c6de6c03ede6f
MD5 c313dde16c8a1270babc1c25d9bf77af
BLAKE2b-256 60ec2357a39312b5958115538b32b53fd868a7c912018481c8375419a1660932

See more details on using hashes here.

File details

Details for the file pyradiomics-3.0.1a3-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pyradiomics-3.0.1a3-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 068e58423b7dbcd79ef59ff635331780f1e6be4e28019bf113ab36dd2b5f96c2
MD5 19cac3d63b1398a1527c59182a1662fa
BLAKE2b-256 8ded4e5cc45ac56b7958fad4eef0ea6130ecccfbb79afebf15086912e617f9c0

See more details on using hashes here.

File details

Details for the file pyradiomics-3.0.1a3-cp38-cp38-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyradiomics-3.0.1a3-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3b7ebe203f47e186ae1de9d04b526dcff0a9c064a9032170aacf2b45ad13f192
MD5 d71d995e632b91db6f4438c04782bb7a
BLAKE2b-256 9eddded59a1d0747824ff7d5aab45a9f34d7f848edf191260ab3f351a0cdf2e8

See more details on using hashes here.

File details

Details for the file pyradiomics-3.0.1a3-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pyradiomics-3.0.1a3-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 cccbe7821aa658f04a175c12813ca9578463614f38c67e6adbf6c3728f75c7d0
MD5 0eeb855261deb4f97723ecc3ed8c5309
BLAKE2b-256 ff5f080c0916f9e4bea63e8656f0261fb865e7bd1558095532b5b1f9ecbd5c53

See more details on using hashes here.

File details

Details for the file pyradiomics-3.0.1a3-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyradiomics-3.0.1a3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3b3fe92dba94730528435fb230b43e5ab87d439bfca2f92d0bdb0df96a103d9c
MD5 5f4d1b2e557f295d3f1970f95771fdc2
BLAKE2b-256 665a7a4f55f046bdd4eab3a5ea3c59854eaf56a29a14df79165005f24c521a8c

See more details on using hashes here.

File details

Details for the file pyradiomics-3.0.1a3-cp37-cp37m-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pyradiomics-3.0.1a3-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 e053c851b9cc6d9f5db1a91cdde6a2c115755c63a19189f52bb8a3e346bdb9a2
MD5 ea48ee6a3be1e6f99a3665310c227a72
BLAKE2b-256 0003300d9929484d38c166250906a84e4a334be6543af9e8d2164ddab0757683

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page