Skip to content

v1.2.0

Compare
Choose a tag to compare
@JoostJM JoostJM released this 30 May 08:13
· 569 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.
    (#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. (#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 (#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. (#248)

New Features

  • Add Region of Interest checks. (#223, #227)
  • Add variable column support for batch input file (#228)
  • Add Docker support (#236)

Bug fixes

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

Requirements

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

Documentation

version 1.2.0 docs

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

Examples

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

Internal API

  • Add function to get or download test case (#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) (#257)
  • Implement C extension for calculation of maximum diameters. (#257)

Cleanups

  • Restructure repository (#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)