Skip to main content

Radiomics features library for python

Project description

pyradiomics v2.2.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., Fillon-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!

Join the PyRadiomics community on google groups here.

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 both Python 2.7 and Python 3.4, 3.5 and 3.6. As of version 2.0, PyRadiomics releases are also made available on PyPi. 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 seperately to enable this filter)
  • scikit-image (Only for LBP filter, install seperately to enable this filter)
  • trimesh (Only for LBP filter, install seperately 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 pyradiomics email list.

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.

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-2.2.0.tar.gz (34.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyradiomics-2.2.0-cp37-cp37m-win_amd64.whl (123.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

pyradiomics-2.2.0-cp37-cp37m-manylinux1_x86_64.whl (183.3 kB view details)

Uploaded CPython 3.7m

pyradiomics-2.2.0-cp37-cp37m-macosx_10_13_x86_64.whl (118.1 kB view details)

Uploaded CPython 3.7mmacOS 10.13+ x86-64

pyradiomics-2.2.0-cp36-cp36m-win_amd64.whl (123.9 kB view details)

Uploaded CPython 3.6mWindows x86-64

pyradiomics-2.2.0-cp36-cp36m-manylinux1_x86_64.whl (159.2 kB view details)

Uploaded CPython 3.6m

pyradiomics-2.2.0-cp36-cp36m-macosx_10_13_x86_64.whl (118.1 kB view details)

Uploaded CPython 3.6mmacOS 10.13+ x86-64

pyradiomics-2.2.0-cp35-cp35m-win_amd64.whl (123.8 kB view details)

Uploaded CPython 3.5mWindows x86-64

pyradiomics-2.2.0-cp35-cp35m-manylinux1_x86_64.whl (159.2 kB view details)

Uploaded CPython 3.5m

pyradiomics-2.2.0-cp35-cp35m-macosx_10_13_x86_64.whl (118.0 kB view details)

Uploaded CPython 3.5mmacOS 10.13+ x86-64

pyradiomics-2.2.0-cp27-cp27mu-manylinux1_x86_64.whl (153.9 kB view details)

Uploaded CPython 2.7mu

pyradiomics-2.2.0-cp27-cp27m-win_amd64.whl (119.2 kB view details)

Uploaded CPython 2.7mWindows x86-64

pyradiomics-2.2.0-cp27-cp27m-macosx_10_13_x86_64.whl (117.9 kB view details)

Uploaded CPython 2.7mmacOS 10.13+ x86-64

File details

Details for the file pyradiomics-2.2.0.tar.gz.

File metadata

  • Download URL: pyradiomics-2.2.0.tar.gz
  • Upload date:
  • Size: 34.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for pyradiomics-2.2.0.tar.gz
Algorithm Hash digest
SHA256 7435a912aa860660c1ab960dde72a5be2fc8394fd4fa2bd249fe2387b10a205f
MD5 514e5d3477b3fae16ab544e6c2970847
BLAKE2b-256 ac1d5c1f83b03abf37f91389046f54844231f048c29974eb11b0d68b203d32c9

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 123.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.16

File hashes

Hashes for pyradiomics-2.2.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a4139a46e816687bb28e38f06c24fe7f126cb0a568db0469107091f61be29250
MD5 2a1de4f4c71406512db490d1c0d454fd
BLAKE2b-256 00e57777d255cc48eb295ae959f8fc00b8a02af6d6287a8756bb916c5e8a17e9

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 183.3 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for pyradiomics-2.2.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1809eba88553b0e866524ef2827715f4fe92e679f0c0e6aa174f8b63b83bb6bd
MD5 d02163bef71c9ec8eeb21a9816ad017d
BLAKE2b-256 0fa51775fc8b2b751e4936bb845ff5732ea4c8a7b8a04b693206add709bf7d56

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp37-cp37m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp37-cp37m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 118.1 kB
  • Tags: CPython 3.7m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.2.0-cp37-cp37m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 12b408e930844b02d6cda8c0d52c6165079f4622e7aa89fbca77644891f02ac7
MD5 341f9083d606c020617676ed112f0684
BLAKE2b-256 813231242cd22d3fdb9e953c447a903e546c619217a93122e11acefa8f32ef9f

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 123.9 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.16

File hashes

Hashes for pyradiomics-2.2.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 f15a66166cc9d549e527ec0b56145ece63cea3680af54da57b83e77a1e434fd2
MD5 f98a9304067a68b6d14190217fe5bed8
BLAKE2b-256 f00c24f51d86cdcad708094736f089d26d44820bb8eac1be3c0735d652256ef4

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 159.2 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for pyradiomics-2.2.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0b61aad1cb4bbd196bff61e945ff567afbcedded7ac506a9cd8219168ba7b100
MD5 7f333a53e2c7f2333cdc3b21b8625d42
BLAKE2b-256 1d6b797d3fd59e16675f6d8fa3ad0f778a025e06bcb1fd595439d43aff0a522e

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp36-cp36m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp36-cp36m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 118.1 kB
  • Tags: CPython 3.6m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.2.0-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6da2fb66e0a4d70d3376dc4958893c7574b8971e1569fb1b028190e15a0bfbb4
MD5 6cd652fcb2d9d3fa9d5990204ec4e408
BLAKE2b-256 ec65ea05ed9ebe6117ac0b2f034661e9228aa3b73640bdb68f488a88bf5ce52e

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 123.8 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.16

File hashes

Hashes for pyradiomics-2.2.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 f0c33b189cdd0170aaa3c4abb4f28fab0d51ffa4afa65da94a0a102e0f4c3ff8
MD5 cebe7e5d65c396dad83c709856279261
BLAKE2b-256 811d3d4de41653fad9abd934bb49ecd2d8d21526f6c9454f4e2ed5d5a3ac57a4

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 159.2 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for pyradiomics-2.2.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 13148e0cc78671511fa248c55fff65dfa0f3d13c8a48cc0f0d2c1722028b2642
MD5 3223967b28abc305b1241e0a226468eb
BLAKE2b-256 56242ecab5bc8a48a8f05add48461d81da88133fc5424741a7a1181d9654837e

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp35-cp35m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp35-cp35m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 118.0 kB
  • Tags: CPython 3.5m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.2.0-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3906387715f3cff36a19838c2cf6c5f60781bb1134f8a094dfc64eee43aa3735
MD5 d954f1eda1ebfd99c9af47110b310756
BLAKE2b-256 0ea8f1bf93d71a5ce50d610df858389329013e520262e3c81a826b703b28a2c9

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 153.9 kB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for pyradiomics-2.2.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c87f8e6a49f2ac91a5aef20d98cb5bc9cd0dccbbf58de32aa643546d00fefe45
MD5 ef372304ec63eb0a1720de6f0183b7bc
BLAKE2b-256 558b42e27aba26f82c8c58c09cfa55da9d258fa357ecc631b30b5e67a3991776

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp27-cp27m-win_amd64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp27-cp27m-win_amd64.whl
  • Upload date:
  • Size: 119.2 kB
  • Tags: CPython 2.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.16

File hashes

Hashes for pyradiomics-2.2.0-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 dec26a32a5c3b9bef55509fc3e8c8fd6fb23773e572e10823fd35c2819925ac0
MD5 bffe3a34f983e296ed4f0fc423b14701
BLAKE2b-256 25a423050a977e80a3a6de8135055305895fba2e7b6827f397bb9cad3849d431

See more details on using hashes here.

File details

Details for the file pyradiomics-2.2.0-cp27-cp27m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: pyradiomics-2.2.0-cp27-cp27m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 117.9 kB
  • Tags: CPython 2.7m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.2.0-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 397bde3ce672ed9951cff75a337d316770bf0d75a3e5925d9123f1197a16a422
MD5 323bd354499d8a3fac8767c7b4d4c097
BLAKE2b-256 66f68fee5f99ba4e7e580a823696307e447471a4f6123073e15613f10e5c4484

See more details on using hashes here.

Supported by

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