Skip to content

v1.2.0

Latest
Compare
Choose a tag to compare
@JoostJM JoostJM released this 30 May 08:27
· 507 commits to master since this release

Feature Calculation Changes

  • Remove feature SumVariance, rename SumVariance2 to SumVariance. SumVariance reflected the formula as is defined in the paper by Haralick et al [1]_. However, the variance is calculated by subtracting the entropy as opposed to subtracting the average, most likely due to a typo('f8' instead of 'f6'). SumVariance2 reflected the formula where the average is subtracted and is retrained as the only SumVariance.
    (AIM-Harvard#233)
  • Redefine features Elongation and Flatness as the inverse of the original definition. This prevents a returned
    value of NaN when the shape is completely flat. (AIM-Harvard#234)
  • In certain edge cases, the calculated maximum diameters may be too small when calculating using the python
    implementation. This is corrected by the C extension and a warning is now logged when calculating these
    features in python. N.B. As of this change, maximum diameter is not available for calculation in full-python mode (AIM-Harvard#257)
  • For certain formulas, a NaN value is returned in some edge cases. Catch this and return a predefined value instead. Document this behaviour in the docstrings of the features affected. (AIM-Harvard#248)

New Features

Bug fixes

  • Instantiate output with input in commandlinebatch
  • Correct Np when weighting is applied in GLRLM (AIM-Harvard#229)
  • Update CSV generators to reflect variable number of columns for input CSV in batch processing (AIM-Harvard#246)
  • Return corrected mask when it had to be resampled due to geometry mismatch errors (AIM-Harvard#260)

Requirements

  • Remove tqdm requirement (AIM-Harvard#232)
  • Reorganize requirements, with requirements only needed during development moved to requirements-dev.txt (AIM-Harvard#231)

Documentation

version 1.2.0 docs

  • Update feature docstrings, making them more easily adaptable for article supplements (AIM-Harvard#233)
  • Add FAQ concerning the cmatrices lib path (AIM-Harvard#233)
  • Add developer install step to documentation (AIM-Harvard#245)
  • Remove use of sudo (AIM-Harvard#233)
  • Fix subclass name in feature class signature (section "Developers")
  • Add subsection on customizing the extraction to the "Usage" section (AIM-Harvard#252)
  • Remove SimpleITK installation workaround, this is no longer needed (AIM-Harvard#249)
  • Add a changelog to keep track of changes and integrate this into the auto generated documentation (AIM-Harvard#255)

Examples

  • Add pandas example, showing how to process PyRadiomics output/input using the pandas library (AIM-Harvard#228)

Internal API

  • Add function to get or download test case (AIM-Harvard#235)
  • Rewrite C Extension algorithm for GSLZM. Instead of searching over the image for the next voxel when
    growing a region, store all unprocessed voxels in a stack. This yields a significant increase in performance,
    especially in large ROIs. Requires slightly more memory (1 array, type integer, size equal to number of voxels in
    the ROI) (AIM-Harvard#257)
  • Implement C extension for calculation of maximum diameters. (AIM-Harvard#257)

Cleanups

  • Restructure repository (AIM-Harvard#254)
    • Move jupyter notebooks to separate root folder (root/notebooks)
    • Move example script to separate root folder (root/examples), with example settings in separate subfolder
      (root/examples/exampleSettings)
    • bin folder now only contains support scripts for the core code (i.e. generators for input files for batch
      processing and scripts to generate new baselines or to resample a mask to the image geometry)