Edit this page

ProjectWeek

Back to Projects List

PyRadiomics update and revision of C extensions

Key Investigators

Project Description

This project aims to develop and maintain the open source software PyRadiomics, which provides easy to use Radiomic feature extraction tools coded in Python.

Objective

  1. Update the C-Extensions to allow for N-dimensional input (image/mask). Together with updates to the python code, this is to make PyRadiomics more suitable to work with e.g. 2D input (instead of forced 3D input)
  2. Investigate possibility of integration with ITK.
  3. Update documentation and command line interface for voxel-based extraction. Though already part of the PyRadiomics code, voxel based extraction can currently only be used via Python scripts.
  4. Investigate the possibility of reproducing features extracted used by a top PROSTATEx entry using pyradiomics (collaboration with Radka Stoyanova, U. South Florida (USF))

Approach and Plan

  1. Replace nested loop per dimension by a dimension less single iterator over voxels. Update input checks to allow N-dimensional input.
  2. Talk to developers who have worked with ITK. Review the overlap between PyRadiomics and ITK Texture Features
  3. Write a command line interface similar to the interface for segment-based extraction. Use output folder instead of file to store results (each feature will be a image file (e.g. .nrrd or .nii.gz))
  4. Configure extraction parameters to achieve feature values similar to those obtained by the USF group. This task is supported by a sample dataset and accompanying features provided by the USF collaborators.

Progress and Next Steps

  1. Started rewriting the C extensions. GLCM, GLSZM, NGTDM, NGTDM now support N-dimensional input, GLRLM rewriting in progress. ToDo: rewriting the wrapper to python and update checks and input constraints to allow N-dimensional input. Shape: will remain either 3D or 2D, should add detection of number of dimensions to determine which shape class to use.
  2. Done, voxel-wise extraction now available from the command line by setting switch --mode (-m) to voxel, stores feature maps as NRRD images. Merged into PyRadiomics in PR #457
  3. Radiomics features comparison sub-project.
    • developed a Jupyter Notebook for comparing USF radiomics results with pyradiomics (see https://github.com/Radiomics/pyradiomics/tree/master/labs/pyradiomics-reproduce). Observed good agreement in one case, but very poor in another, where volume of the structure is very small (see fig. below). We think this is due to the different approaches to rasterizing RTSTRUCT contours. Comparison of texture features underway.
    • learned about the radiomics module in MITK tutorial and detailed info, will investigate consistency and agreement with IBSI, to be continued!

Illustrations

Comparison of USF features with pyradiomics results Comparison of USF features with pyradiomics results, numeric

Background and References

Other related references: