Releases: JoostJM/pyradiomics
Releases · JoostJM/pyradiomics
v1.2.0
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
- Add Region of Interest checks. (AIM-Harvard#223, AIM-Harvard#227)
- Add variable column support for batch input file (AIM-Harvard#228)
- Add Docker support (AIM-Harvard#236)
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
- 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 thepandas
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)
- Move jupyter notebooks to separate root folder (