JoostJM / pyradiomics_OLD

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Circle CI

pyradiomics v1.0

Radiomics feature extraction in Python

This is an open-source python package for the extraction of Radiomics features from 2D and 3D images and binary masks.

Image loading and preprocessing (e.g. resampling and cropping) are first done using SimpleITK. Then, loaded data are converted into numpy arrays for further calculation using feature classes outlined below.

Feature Classes

Currently supports the following feature classes:

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

Most of the provided features and filters are based on methods described in the following publications:

HJWL Aerts, ER Velazquez, RTH Leijenaar, et al., "Decoding tumour phenotype by noninvasive imaging using a quantitative radiomics approach", vol. 5, Nat Communication, 2014. Available here.

Specifically, the formulation of the individual feature calculation is covered in this supplement

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.

Installation

To install this package run the following commands from the root directory:

python -m pip install -r requirements.txt
python setup.py install

Citation

If you publish any work which uses this package, please cite the following publication:

Joost J.M. van Griethuysen et al, “Computational Radiomics System to Decode the Radiographic Phenotype”; Submitted

3rd-party packages used in pyradiomics:

  • SimpleITK
  • numpy
  • PyWavelets (Wavelet filter)
  • pykwalify (Enabling yaml parameters file checking)
  • tqdm (Progressbar)
  • sphinx (Generating documentation)
  • sphinx_rtd_theme (Template for documentation)
  • nose-parameterized (Testing)

See also the requirements file.

WIP

  • Implementation of this package as an extension to 3D Slicer
  • Enhancing performance by implementation of C for computationally expensive code

License

This package is covered by the 3D Slicer License.

This work was supported in part by the US National Cancer Institute grant 5U24CA194354, QUANTITATIVE RADIOMICS SYSTEM DECODING THE TUMOR PHENOTYPE.

About

License:Other


Languages

Language:Python 78.4%Language:Jupyter Notebook 21.6%