Skip to main content

Radiomics features library for python

Project description

# pyradiomics v2.1.0

## Build Status

| Linux | macOS | Windows |
|--------------------------------|-------------------------------|-------------------------------|
| [![][circleci]][circleci-lnk] | [![][travisci]][travisci-lnk] | [![][appveyor]][appveyor-lnk] |


[appveyor]: https://ci.appveyor.com/api/projects/status/tw69xbbeyluk7fl7/branch/master?svg=true
[appveyor-lnk]: https://ci.appveyor.com/project/Radiomics/pyradiomics/branch/master

[circleci]: https://circleci.com/gh/Radiomics/pyradiomics.svg?style=svg&circle-token=a4748cf0de5fad2c12bc93a485282378551c3584
[circleci-lnk]: https://circleci.com/gh/Radiomics/pyradiomics

[travisci]: https://travis-ci.org/Radiomics/pyradiomics.svg?branch=master
[travisci-lnk]: https://travis-ci.org/Radiomics/pyradiomics

## 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. **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](https://groups.google.com/forum/#!forum/pyradiomics).

### Feature Classes
Currently supports the following feature classes:

- First Order Statistics
- Shape-based
- 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](http://pyradiomics.readthedocs.io/).

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](http://radiomics.io/pyradiomics.html).

### 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](http://pyradiomics.readthedocs.io/en/latest/installation.html).

### Docker
PyRadiomics also supports [Dockers](https://www.docker.com/). Currently, 2 dockers are available:

The first one is a [Jupyter notebook](http://jupyter.org/) 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](https://pyradiomics.readthedocs.io/en/latest/installation.html#use-pyradiomics-docker)

### 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](https://github.com/Radiomics/SlicerRadiomics).

### 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](requirements.txt).

### 3D Slicer
PyRadiomics is also available as an [extension](https://github.com/Radiomics/SlicerRadiomics) to [3D Slicer](slicer.org).
Download and install the 3D slicer [nightly build](http://download.slicer.org/), the extension is then available in the
extension manager under "SlicerRadiomics".

### License
This package is covered by the open source [3-clause BSD License](LICENSE.txt).

### Developers
- [Joost van Griethuysen](https://github.com/JoostJM)<sup>1,3,4</sup>
- [Andriy Fedorov](https://github.com/fedorov)<sup>2</sup>
- [Nicole Aucoin](https://github.com/naucoin)<sup>2</sup>
- [Jean-Christophe Fillion-Robin](https://github.com/jcfr)<sup>5</sup>
- [Ahmed Hosny](https://github.com/ahmedhosny)<sup>1</sup>
- [Steve Pieper](https://github.com/pieper)<sup>6</sup>
- [Hugo Aerts (PI)](https://github.com/hugoaerts)<sup>1,2</sup>

<sup>1</sup>Department of Radiation Oncology, Dana-Farber Cancer Institute, Brigham and Women's Hospital, Harvard Medical School, Boston, MA,
<sup>2</sup>Department of Radiology, Brigham and Women's Hospital, Harvard Medical School, Boston, MA,
<sup>3</sup>Department of Radiology, Netherlands Cancer Institute, Amsterdam, The Netherlands,
<sup>4</sup>GROW-School for Oncology and Developmental Biology, Maastricht University Medical Center, Maastricht, The Netherlands,
<sup>5</sup>Kitware,
<sup>6</sup>Isomics

### Contact
We are happy to help you with any questions. Please contact us on the [pyradiomics email list](https://groups.google.com/forum/#!forum/pyradiomics).

We welcome contributions to PyRadiomics. Please read the [contributing guidelines](CONTRIBUTING.rst) 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.1.1.tar.gz (34.5 MB view details)

Uploaded Source

Built Distributions

pyradiomics-2.1.1-cp36-cp36m-win_amd64.whl (109.3 kB view details)

Uploaded CPython 3.6m Windows x86-64

pyradiomics-2.1.1-cp36-cp36m-manylinux1_x86_64.whl (138.5 kB view details)

Uploaded CPython 3.6m

pyradiomics-2.1.1-cp36-cp36m-macosx_10_13_x86_64.whl (101.5 kB view details)

Uploaded CPython 3.6m macOS 10.13+ x86-64

pyradiomics-2.1.1-cp35-cp35m-win_amd64.whl (109.3 kB view details)

Uploaded CPython 3.5m Windows x86-64

pyradiomics-2.1.1-cp35-cp35m-manylinux1_x86_64.whl (138.5 kB view details)

Uploaded CPython 3.5m

pyradiomics-2.1.1-cp35-cp35m-macosx_10_13_x86_64.whl (101.4 kB view details)

Uploaded CPython 3.5m macOS 10.13+ x86-64

pyradiomics-2.1.1-cp34-cp34m-win_amd64.whl (104.2 kB view details)

Uploaded CPython 3.4m Windows x86-64

pyradiomics-2.1.1-cp34-cp34m-manylinux1_x86_64.whl (138.1 kB view details)

Uploaded CPython 3.4m

pyradiomics-2.1.1-cp34-cp34m-macosx_10_13_x86_64.whl (101.3 kB view details)

Uploaded CPython 3.4m macOS 10.13+ x86-64

pyradiomics-2.1.1-cp27-cp27mu-manylinux1_x86_64.whl (134.5 kB view details)

Uploaded CPython 2.7mu

pyradiomics-2.1.1-cp27-cp27m-win_amd64.whl (104.4 kB view details)

Uploaded CPython 2.7m Windows x86-64

pyradiomics-2.1.1-cp27-cp27m-macosx_10_13_x86_64.whl (101.2 kB view details)

Uploaded CPython 2.7m macOS 10.13+ x86-64

File details

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

File metadata

  • Download URL: pyradiomics-2.1.1.tar.gz
  • Upload date:
  • Size: 34.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for pyradiomics-2.1.1.tar.gz
Algorithm Hash digest
SHA256 d461c64bf532c7595d8ef532d72e19822ae428c8e1fadf5b3b1f6ac4640a1689
MD5 f3a688b6fce979cbc894d384c2866264
BLAKE2b-256 d506e3dce78dde9c2c56e3194ef7220bc419ec8434df07bf27972514aa1d7ffa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyradiomics-2.1.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 109.3 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.1.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d555760a8e49d53c29d6f0f3770994239ecdc38180712e26dff244daa2735928
MD5 cbd6b171b81e0494939149cba0dc2d2c
BLAKE2b-256 15616129bf40c0bcdfbf10a1d5f9d7ffaacaa40be848d7e939991e8f4ec76ab7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyradiomics-2.1.1-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 138.5 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for pyradiomics-2.1.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 aff472018a963fbf0720d2201c20ddef50bafe3251088b5fd6093b3fd3a89886
MD5 781be8e1c2f3dfe40b9a0cc43e6dd730
BLAKE2b-256 71750b461959caf1b5aec1f5e15357770fdcf2d44d8fca7669ebdd32a1ae8a19

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyradiomics-2.1.1-cp36-cp36m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 101.5 kB
  • Tags: CPython 3.6m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.1.1-cp36-cp36m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 df74f84b42de961421ea4b3ca9905c4f8b0f135a2d30bf284965f96e9534f514
MD5 5f51ad301bdb4249503bd5c60dfe3632
BLAKE2b-256 0af8440856d2a912e419e92ee17f1099a62d5f6c851482db1e4912578c7c6624

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyradiomics-2.1.1-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 109.3 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.1.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 b83a50809e8942161cb195d142b4eeef93854980fc1bc5519788dba49d0792a8
MD5 6553cf660273c4c3584a887c249ce638
BLAKE2b-256 9eb2fc6755668ba47e42061c7705d0dc12b6de4ef3e81b598241d27d2a091a16

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyradiomics-2.1.1-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 138.5 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for pyradiomics-2.1.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 28443366c2b3ed176a86218f37be0c99bb4a878ae2689df27a87ecbd77a05c0e
MD5 dd4790b8179d9aad8330a1e0a743736f
BLAKE2b-256 41d2b2193f05da7017e8accb2e14a161750d95e1b576150dcfa21a7eda90b5ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyradiomics-2.1.1-cp35-cp35m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 101.4 kB
  • Tags: CPython 3.5m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.1.1-cp35-cp35m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 de20548d9290c75ef585413a48ee09d99ed5d15f1e0de61c9dbd55476d8e11c9
MD5 466ded94691f4de8be03f357ae4f07fe
BLAKE2b-256 4d84cf20bd82a305e7200581ff66f5c73d7c3cc9dd903a3894b52d0272a0456c

See more details on using hashes here.

File details

Details for the file pyradiomics-2.1.1-cp34-cp34m-win_amd64.whl.

File metadata

  • Download URL: pyradiomics-2.1.1-cp34-cp34m-win_amd64.whl
  • Upload date:
  • Size: 104.2 kB
  • Tags: CPython 3.4m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.1.1-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 fd43414acc640a550486cfed572ef6a0622ad375cd049fdef0cb5bd1a357e7de
MD5 ad02e094bad8aaa66375eda063bcc6e2
BLAKE2b-256 6466db5d0cf13e6fd79a94bc3067a6a9f3c9181541b25eb2f5aada024f34dc52

See more details on using hashes here.

File details

Details for the file pyradiomics-2.1.1-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyradiomics-2.1.1-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 138.1 kB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for pyradiomics-2.1.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e4378ec501817b565de08cdfe4d26fdb527d72c197b377cf08e32c70baf90c72
MD5 fcd4a76f3fba80401d3f9e331515d37b
BLAKE2b-256 a3b66b94d299d4286d4f356ad8c469a1959b6876db8002c62f6980db81ec8f81

See more details on using hashes here.

File details

Details for the file pyradiomics-2.1.1-cp34-cp34m-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: pyradiomics-2.1.1-cp34-cp34m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 101.3 kB
  • Tags: CPython 3.4m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.1.1-cp34-cp34m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b8d0adcc9d2a600b407693facd57d381d5212dc76da984031c1c503d3b42e232
MD5 fb7f8aa543edbe0edbffd121f46bd9ed
BLAKE2b-256 bcde2d021989f5fc7a1ba75d5164d78e91562917bee8318325a614d6c050e4da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyradiomics-2.1.1-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 134.5 kB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for pyradiomics-2.1.1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 56ad344d777ba53881b2cc89e8a88e6d6ccaaf7c58dcba3bb8dc9d23a7b93795
MD5 edda2fa77940b95a51fa48c9a711c4ed
BLAKE2b-256 18e7d277ed2e8b7060688d7bd7e0e6671545b69338bd051184dc21b51bfffd65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyradiomics-2.1.1-cp27-cp27m-win_amd64.whl
  • Upload date:
  • Size: 104.4 kB
  • Tags: CPython 2.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.1.1-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 f913e8ac6ee4448e15b8b9a2e88214f2693dd2749080fb6d3225964a886e5001
MD5 4feb8f74a3a257266023be7b6e994100
BLAKE2b-256 9af3a0b54b80aa9dfb4f58310ca3afc104498f43146d0230759b5ec06bfeac25

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyradiomics-2.1.1-cp27-cp27m-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 101.2 kB
  • Tags: CPython 2.7m, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for pyradiomics-2.1.1-cp27-cp27m-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 52762ba38f5ad7caae45b31ae2e3a255fb587ebac76204a3c8b013b50154b00d
MD5 8b6778544b0e9857a773372a843ea0e2
BLAKE2b-256 70c3c28ff938b2e6c5b30a3b5da24c7ab88d3b3f7e629b0bb9b695f5dcb4c68f

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