Skip to content

v2.0.0

Compare
Choose a tag to compare
@JoostJM JoostJM released this 16 Nov 16:09
· 337 commits to master since this release

Feature Calculation Changes

  • Change calculation of filter coefficients to reflect absolute maximum (take into account negative values). (#319)
  • Mark duplicate features as 'deprecated' and document mathematical proof of the equality. (#321)
  • Fix error in calculation of NGTDM's Complexity and Contrast features. (#351)

New Features

  • Add preCrop, which crops the image onto the bounding box with an additional padding specified in padDistance. This is similar to cropping as performed during resampling and serves to decrease memory consumption and computation time. N.B. To ensure calculated values are not changed, a sufficient padding is required when using filters which include values outside of ROI (e.g. Wavelet, LoG). (#317)
  • Add skip-nans as a commandline argument. If specified, features that compute NaN are removed from the output. In batch mode, NaN is replaced by an empty string. (#318)
  • Add support to configure the feature extractor using a JSON structured string. (#334)
  • Add Gradient Magnitude Filter. (#356)
  • Add Local Binary Pattern Filter (2D/3D). (#357)
  • Add support for Gray Value discretization using a fixed bin count. (#386)

Bug fixes

  • Ensure PyKwalify has a log handler, which is needed when parameter file validation fails. (#309)
  • Fix bug in error handling in :py:func:~radiomics.imageoperations.checkMask (compatibility issue between python 2 and 3).
  • Fix bug in GLCM (incorrect use of self.maskArray). (#322)
  • Fix bug in error handling during geometry checks of image and mask. (0257217)
  • Fix broken continuous testing integration due to unavailability of pip script. (#333)
  • Fix incorrect path separator in example scripts. (c7c5d2e)
  • Fix bug in the calculation of Wavelet. (#346)
  • Fix machine-precision errors in Eigenvalue calculation (Shape). (#355)
  • Update validation rule for image filters (remove hardcoded filters by package-detected filters). (#364)
  • Add missing requirements for LBP filters in the dockerfile. (#389)
  • Fix deprecation error in feature extractor. (da1fc16)
  • Fix axis definition in wavelet. (4027a52)
  • Fix erroneous double return of wavelet approximation. (c8ceee2)

Tests

  • Improve testing badge layout. (#312)
  • Remove unused testing configuration files. (#313)
  • Add testing for wavelet output. (#387)
  • Integrate publication to PyPi into the Continuous Integration, revise the CI workflow to test python 2.7, 3.4, 3.5 and 3.6 for all 3 platforms (Windows, Mac and Linux). N.B. This makes PyRadiomics installable via pip. (#394)

Documentation

  • Update documentation of base.py. (#306)
  • Update notebooks to reflect most recent version of PyRadiomics. (ac66e6c)
  • Add documentation detailing rationale of enforcing a fixed bin width. (#320)
  • Update reference to official publication. (b395904)
  • Update installation instructions for docker. (#329)
  • Add version of NumPy, SimpleITK and PyWavelet to the additional information in the output. (#342)
  • Add documentation for the calculation of Laplacian of Gaussian. (#345)
  • Add refrences for the newly implemented filters. (4464d1c)
  • Fix an error in the firstorder-Uniformity documentation. (da7321d)

Examples

  • Add example for batchprocessing using a multithreaded approach. (#305)

Internal API

  • Update batch script for the commandline interface. Ensures all required input is available and relative filepaths are relative to the input file, not the current working directory. (#307)
  • Remove support for 32-bits python, as memory errors can arise when extracting from many or large images in 32-bits python. (#310)
  • Simplify Calculation of Wavelet Filter. Does not change output. (#323)
  • Refactor commandline interface to work with only 1 entry point (pyradiomics). Also add parallel-processing option for batch-processing (argument -j, which specifies number of CPU cores to use). (#347)
  • Reconfigure testing to allow the removal of testcases from the repository itself (still available as binary data attached to release 1.0.0) and store the baseline in a different format (allowing for easier change-tracking). (#353)
  • Add a check for number of bins generated (preventing construction of too large matrices in C) (#391)