Skip to content

Commit

Permalink
v2.1.0 Release
Browse files Browse the repository at this point in the history
  • Loading branch information
JoostJM committed Sep 28, 2018
1 parent 14809a5 commit e85f05c
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 1 deletion.
62 changes: 62 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,68 @@ Release Notes
Next Release
------------

-----------------
PyRadiomics 2.1.0
-----------------

Feature Calculation Changes
###########################

- Switch Shape - Volume calculation to a mesh-based instead of a voxel-based one. This also affects all features derived
from Volume. Original Volume calculation is retained as ``VoxelVolume``. Also switch calculation of maximum diameter
to mesh based. Only PCA-derived are not affected. (`#427 <https://github.com/Radiomics/pyradiomics/pull/427>`_)

New Features
############

- Add GLCM - Maximal Correlation Coefficient. (`#411 <https://github.com/Radiomics/pyradiomics/pull/411>`_)

New Parameters
##############

- Update resegmentation function, add support for single (lower) threshold and new modes ``relative`` and ``sigma``,
customizable in parameter ``resegmentMode``. (`#420 <https://github.com/Radiomics/pyradiomics/pull/420>`_)
- Add ``resegmentShape``. Default ``False``, if set to ``True``, the resegmented mask (intensity mask) will also be used
for shape calculation. Otherwise, the non-resegmented mask (morphological mask) is used for shape.
(`#428 <https://github.com/Radiomics/pyradiomics/pull/428>`_)

Bug fixes
#########

- Fix bug in dimension checking in ``checkMask``. (`623b836 <https://github.com/Radiomics/pyradiomics/commit/623b836>`_)
- Fix some errors in the testUtils and baseline generation script.
(`c285c15 <https://github.com/Radiomics/pyradiomics/commit/c285c15>`_)
- Prevent division by 0 in NGTDM - Coarseness. Return 0 instead.
(`a59861e <https://github.com/Radiomics/pyradiomics/commit/a59861e>`_)
- Remove duplicate key in settings file example. (`828a7ac <https://github.com/Radiomics/pyradiomics/commit/828a7ac>`_)
- Prevent duplicate log entries in parallel batch extraction.
(`8cedd8f <https://github.com/Radiomics/pyradiomics/commit/8cedd8f>`_)
- Build PyWavelets from source for AppVeyor (Windows) python 3.4 testing. Requires pre-installation of numpy and cython.
(`6223d35 <https://github.com/Radiomics/pyradiomics/commit/6223d35>`_)

Tests
#####

- Integrate automatic distribution to conda upon release. (`#422 <https://github.com/Radiomics/pyradiomics/pull/422>`_)

Documentation
#############

- Update README and Setup.py with additional classifiers, urls. Update section in README on Docker usage.
(`0fe737e <https://github.com/Radiomics/pyradiomics/commit/0fe737e>`_)

Internal API
############

- Use ``ValueError`` exceptions when feature extraction pipeline fails (exceptions of individual features)
(`#420 <https://github.com/Radiomics/pyradiomics/pull/420>`_)
- Update generation and names of general info features (provenance information)
(`#420 <https://github.com/Radiomics/pyradiomics/pull/420>`_,
`#426 <https://github.com/Radiomics/pyradiomics/pull/426>`_)
- Rewrite signatures of pre-processing functions to accept all customization arguments in 1 ``**kwargs`` dict.
Necessary parameters are obtained using ``kwargs.get`` inside the function. Full settings are passed to the function.
(`#425 <https://github.com/Radiomics/pyradiomics/pull/425>`_)

-----------------
PyRadiomics 2.0.1
-----------------
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pyradiomics v2.0.1
# pyradiomics v2.1.0

## Build Status

Expand Down
2 changes: 2 additions & 0 deletions docs/customization.rst
Original file line number Diff line number Diff line change
Expand Up @@ -195,12 +195,14 @@ Feature Extractor Level
value is None (default), no resegmentation is performed. Resegemented size is checked (using parameter
``minimumROISize``, default 1) and upon fail, an error is logged and extraction is skipped for this case.
- ``resegmentMode`` ['absolute']: string, specifying the method to use for defining the resegmentation thresholds:

- 'absolute': The resegmentRange values are treated as absolute values, i.e. used directly to perform resegmentation.
- 'relative': The resegmentRange values are treated as relative to the maximum in the ROI, i.e. the actual threshold
used is defined as :math:`\text{threshold} = \text{value} * X_{max}`.
- 'sigma': The resegmentRange values indicate a distance from the mean of the ROI in standard deviations. E.g. to
exclude outliers farther from the mean than 3 sigma, specify mode 'sigma' and range [-3, 3]. Threshold is defined as
:math:`\text{threshold} = \mu + \text{value} * \sigma`.

- ``resegmentShape`` [False]: Boolean, if set to True, the resegmented mask is also used for shape calculation. If set
to False (default), only first order and texture classes are calculated using the resegmented mask (known in IBSI as
the intensity mask). Shape is then calculated using the mask after any optional resampling and corrections (known in
Expand Down
1 change: 1 addition & 0 deletions radiomics/generalinfo.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ def addImageElements(self, image, prefix='original'):
Calculates provenance info for the image
Adds the following:
- ImageHash: sha1 hash of the mask, which can be used to check if the same mask was used during reproducibility
tests. (Only added when prefix is "original")
- Spacing: Pixel spacing (x, y, z) in mm.
Expand Down

0 comments on commit e85f05c

Please sign in to comment.