Skip to content

Commit

Permalink
Merge pull request AIM-Harvard#321 from JoostJM/duplicate_features
Browse files Browse the repository at this point in the history
Remove duplicate features
  • Loading branch information
JoostJM authored Oct 30, 2017
2 parents 91f3820 + 18ffb41 commit b5e6081
Show file tree
Hide file tree
Showing 22 changed files with 662 additions and 477 deletions.
12 changes: 6 additions & 6 deletions data/baseline/baseline_gldm.csv
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Patient ID,general_info_BoundingBox,general_info_GeneralSettings,general_info_ImageHash,general_info_ImageSpacing,general_info_InputImages,general_info_MaskHash,general_info_Version,general_info_VolumeNum,general_info_VoxelNum,GrayLevelVariance,HighGrayLevelEmphasis,GrayLevelNonUniformityNormalized,DependenceEntropy,DependenceNonUniformity,GrayLevelNonUniformity,SmallDependenceEmphasis,DependenceNonUniformityNormalized,DependenceVariance,LargeDependenceEmphasis,LargeDependenceLowGrayLevelEmphasis,SmallDependenceHighGrayLevelEmphasis,LargeDependenceHighGrayLevelEmphasis,SmallDependenceLowGrayLevelEmphasis,LowGrayLevelEmphasis
brain1,"(162, 84, 11, 47, 70, 7)","{'distances': [1], 'voxelArrayShift': 2000, 'additionalInfo': True, 'enableCExtensions': True, 'weightingNorm': None, 'force2D': False, 'interpolator': None, 'resampledPixelSpacing': None, 'gldm_a': 0, 'label': 1, 'normalizeScale': 1, 'normalize': False, 'force2Ddimension': 0, 'removeOutliers': None, 'minimumROISize': None, 'binWidth': 25, 'minimumROIDimensions': 1, 'symmetricalGLCM': False, 'padDistance': 5}",5c9ce3ca174f0f8324aa4d277e0fef82dc5ac566,"(0.7812499999999999, 0.7812499999999999, 6.499999999999998)",{},9dc2c3137b31fd872997d92c9a92d5178126d9d3,1.2.0.post17.dev0+g7f21de9,2,4137,39.192714199063978,280.40657481266618,0.045156963555862191,6.8850198992694578,936.66014019821125,186.8143582306019,0.37960167130711403,0.22641047623838803,2.1619872286911961,8.6615905245346863,0.076505907367108272,110.30563945728201,2335.0519700265895,0.0035453562622343696,0.0086002740947983703
brain2,"(205, 155, 8, 20, 15, 3)","{'distances': [1], 'voxelArrayShift': 2000, 'additionalInfo': True, 'enableCExtensions': True, 'weightingNorm': None, 'force2D': False, 'interpolator': None, 'resampledPixelSpacing': None, 'gldm_a': 0, 'label': 1, 'normalizeScale': 1, 'normalize': False, 'force2Ddimension': 0, 'removeOutliers': None, 'minimumROISize': None, 'binWidth': 25, 'minimumROIDimensions': 1, 'symmetricalGLCM': False, 'padDistance': 5}",f2b8fbc4d5d1da08a1a70e79a301f8a830139438,"(0.7812499999999999, 0.7812499999999999, 6.499999999999998)",{},b41049c71633e194bee4891750392b72eabd8800,1.2.0.post17.dev0+g7f21de9,1,453,16.831308568337644,278.15673289183223,0.095965576558533008,6.0278542914239788,77.860927152317885,43.472406181015451,0.31436421901358041,0.17187842638480769,3.1535848817546985,12.938189845474614,0.064771635420059245,98.737453271963673,3072.9955849889625,0.0039196112868640949,0.007352909129511827
breast1,"(21, 64, 8, 9, 12, 3)","{'distances': [1], 'voxelArrayShift': 2000, 'additionalInfo': True, 'enableCExtensions': True, 'weightingNorm': None, 'force2D': False, 'interpolator': None, 'resampledPixelSpacing': None, 'gldm_a': 0, 'label': 1, 'normalizeScale': 1, 'normalize': False, 'force2Ddimension': 0, 'removeOutliers': None, 'minimumROISize': None, 'binWidth': 25, 'minimumROIDimensions': 1, 'symmetricalGLCM': False, 'padDistance': 5}",016951a8f9e8e5de21092d9d62b77262f92e04a5,"(0.664062, 0.664062, 2.1)",{},5aa7d57fd57e83125b605c036c40f4a0d0cfd3e4,1.2.0.post17.dev0+g7f21de9,1,143,0.4749376497628246,3.5804195804195804,0.38901657782776666,4.6617281966026489,13.251748251748252,55.629370629370626,0.031210986272908942,0.092669568194043719,11.048266418895789,72.062937062937067,27.0475912975913,0.081947866184390011,295.91608391608389,0.022342990461955925,0.51806526806526798
lung1,"(206, 347, 32, 24, 26, 3)","{'distances': [1], 'voxelArrayShift': 2000, 'additionalInfo': True, 'enableCExtensions': True, 'weightingNorm': None, 'force2D': False, 'interpolator': None, 'resampledPixelSpacing': None, 'gldm_a': 0, 'label': 1, 'normalizeScale': 1, 'normalize': False, 'force2Ddimension': 0, 'removeOutliers': None, 'minimumROISize': None, 'binWidth': 25, 'minimumROIDimensions': 1, 'symmetricalGLCM': False, 'padDistance': 5}",34dca4200809a5e76c702d6b9503d958093057a3,"(0.5703125, 0.5703125, 5.0)",{},054d887740012177bd1f9031ddac2b67170af0f3,1.2.0.post17.dev0+g7f21de9,1,837,24.733677910384273,383.9199522102748,0.07442664462743856,6.5503998915504766,120.97610513739546,62.29510155316607,0.31818600342693032,0.14453537053452264,18.002914773562633,37.449223416965353,0.075562483556322932,84.051168586019344,20425.035842293906,0.003630174681129408,0.0056058622732408228
lung2,"(318, 333, 15, 87, 66, 11)","{'distances': [1], 'voxelArrayShift': 2000, 'additionalInfo': True, 'enableCExtensions': True, 'weightingNorm': None, 'force2D': False, 'interpolator': None, 'resampledPixelSpacing': None, 'gldm_a': 0, 'label': 1, 'normalizeScale': 1, 'normalize': False, 'force2Ddimension': 0, 'removeOutliers': None, 'minimumROISize': None, 'binWidth': 25, 'minimumROIDimensions': 1, 'symmetricalGLCM': False, 'padDistance': 5}",14f57fd04838eb8c9cca2a0dd871d29971585975,"(0.6269531, 0.6269531, 5.0)",{},e284ff05593bc6cb2747261882e452d4efbccb3a,1.2.0.post17.dev0+g7f21de9,1,24644,15.086611671909003,1226.7050803441,0.28153721195636611,6.5037423957040241,1074.54609641292,6938.2030514526859,0.11508039120847749,0.043602746973418274,53.916928452166815,191.3726667748742,0.14681846709509599,97.930584534151734,250067.02475247523,0.0002186069898830078,0.00093448503739726116
Patient ID,general_info_BoundingBox,general_info_GeneralSettings,general_info_ImageHash,general_info_ImageSpacing,general_info_InputImages,general_info_MaskHash,general_info_Version,general_info_VolumeNum,general_info_VoxelNum,GrayLevelVariance,HighGrayLevelEmphasis,DependenceEntropy,DependenceNonUniformity,GrayLevelNonUniformity,SmallDependenceEmphasis,DependenceNonUniformityNormalized,DependenceVariance,LargeDependenceEmphasis,LargeDependenceLowGrayLevelEmphasis,SmallDependenceHighGrayLevelEmphasis,LargeDependenceHighGrayLevelEmphasis,SmallDependenceLowGrayLevelEmphasis,LowGrayLevelEmphasis
brain1,"(162, 84, 11, 47, 70, 7)","{'distances': [1], 'voxelArrayShift': 2000, 'additionalInfo': True, 'enableCExtensions': True, 'weightingNorm': None, 'force2D': False, 'interpolator': None, 'resampledPixelSpacing': None, 'gldm_a': 0, 'label': 1, 'normalizeScale': 1, 'normalize': False, 'force2Ddimension': 0, 'removeOutliers': None, 'minimumROISize': None, 'binWidth': 25, 'minimumROIDimensions': 1, 'symmetricalGLCM': False, 'padDistance': 5}",5c9ce3ca174f0f8324aa4d277e0fef82dc5ac566,"(0.7812499999999999, 0.7812499999999999, 6.499999999999998)",{},9dc2c3137b31fd872997d92c9a92d5178126d9d3,1.2.0.post17.dev0+g7f21de9,2,4137,39.1927142,280.4065748,6.885019899,936.6601402,186.8143582,0.379601671,0.226410476,2.161987229,8.661590525,0.076505907,110.3056395,2335.05197,0.003545356,0.008600274
brain2,"(205, 155, 8, 20, 15, 3)","{'distances': [1], 'voxelArrayShift': 2000, 'additionalInfo': True, 'enableCExtensions': True, 'weightingNorm': None, 'force2D': False, 'interpolator': None, 'resampledPixelSpacing': None, 'gldm_a': 0, 'label': 1, 'normalizeScale': 1, 'normalize': False, 'force2Ddimension': 0, 'removeOutliers': None, 'minimumROISize': None, 'binWidth': 25, 'minimumROIDimensions': 1, 'symmetricalGLCM': False, 'padDistance': 5}",f2b8fbc4d5d1da08a1a70e79a301f8a830139438,"(0.7812499999999999, 0.7812499999999999, 6.499999999999998)",{},b41049c71633e194bee4891750392b72eabd8800,1.2.0.post17.dev0+g7f21de9,1,453,16.83130857,278.1567329,6.027854291,77.86092715,43.47240618,0.314364219,0.171878426,3.153584882,12.93818985,0.064771635,98.73745327,3072.995585,0.003919611,0.007352909
breast1,"(21, 64, 8, 9, 12, 3)","{'distances': [1], 'voxelArrayShift': 2000, 'additionalInfo': True, 'enableCExtensions': True, 'weightingNorm': None, 'force2D': False, 'interpolator': None, 'resampledPixelSpacing': None, 'gldm_a': 0, 'label': 1, 'normalizeScale': 1, 'normalize': False, 'force2Ddimension': 0, 'removeOutliers': None, 'minimumROISize': None, 'binWidth': 25, 'minimumROIDimensions': 1, 'symmetricalGLCM': False, 'padDistance': 5}",016951a8f9e8e5de21092d9d62b77262f92e04a5,"(0.664062, 0.664062, 2.1)",{},5aa7d57fd57e83125b605c036c40f4a0d0cfd3e4,1.2.0.post17.dev0+g7f21de9,1,143,0.47493765,3.58041958,4.661728197,13.25174825,55.62937063,0.031210986,0.092669568,11.04826642,72.06293706,27.0475913,0.081947866,295.9160839,0.02234299,0.518065268
lung1,"(206, 347, 32, 24, 26, 3)","{'distances': [1], 'voxelArrayShift': 2000, 'additionalInfo': True, 'enableCExtensions': True, 'weightingNorm': None, 'force2D': False, 'interpolator': None, 'resampledPixelSpacing': None, 'gldm_a': 0, 'label': 1, 'normalizeScale': 1, 'normalize': False, 'force2Ddimension': 0, 'removeOutliers': None, 'minimumROISize': None, 'binWidth': 25, 'minimumROIDimensions': 1, 'symmetricalGLCM': False, 'padDistance': 5}",34dca4200809a5e76c702d6b9503d958093057a3,"(0.5703125, 0.5703125, 5.0)",{},054d887740012177bd1f9031ddac2b67170af0f3,1.2.0.post17.dev0+g7f21de9,1,837,24.73367791,383.9199522,6.550399892,120.9761051,62.29510155,0.318186003,0.144535371,18.00291477,37.44922342,0.075562484,84.05116859,20425.03584,0.003630175,0.005605862
lung2,"(318, 333, 15, 87, 66, 11)","{'distances': [1], 'voxelArrayShift': 2000, 'additionalInfo': True, 'enableCExtensions': True, 'weightingNorm': None, 'force2D': False, 'interpolator': None, 'resampledPixelSpacing': None, 'gldm_a': 0, 'label': 1, 'normalizeScale': 1, 'normalize': False, 'force2Ddimension': 0, 'removeOutliers': None, 'minimumROISize': None, 'binWidth': 25, 'minimumROIDimensions': 1, 'symmetricalGLCM': False, 'padDistance': 5}",14f57fd04838eb8c9cca2a0dd871d29971585975,"(0.6269531, 0.6269531, 5.0)",{},e284ff05593bc6cb2747261882e452d4efbccb3a,1.2.0.post17.dev0+g7f21de9,1,24644,15.08661167,1226.70508,6.503742396,1074.546096,6938.203051,0.115080391,0.043602747,53.91692845,191.3726668,0.146818467,97.93058453,250067.0248,0.000218607,0.000934485
4 changes: 2 additions & 2 deletions docs/features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ subdivided into the following classes:

* :ref:`radiomics-firstorder-label` (19 features)
* :ref:`radiomics-shape-label` (16 features)
* :ref:`radiomics-glcm-label` (26 features)
* :ref:`radiomics-glcm-label` (23 features)
* :ref:`radiomics-glszm-label` (16 features)
* :ref:`radiomics-glrlm-label` (16 features)
* :ref:`radiomics-ngtdm-label` (5 features)
* :ref:`radiomics-gldm-label` (15 features)
* :ref:`radiomics-gldm-label` (14 features)

All feature classes, with the exception of shape can be calculated on either the original image and/or a derived image,
obtained by applying one of several filters. The shape descriptors are independent of gray value, and are extracted from
Expand Down
128 changes: 125 additions & 3 deletions docs/removedfeatures.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ For included features and class definition, see :ref:`radiomics-glcm-label`.

.. _radiomics-excluded-sumvariance-label:

1. Sum Variance
###############
Sum Variance
############

.. math::
\textit{sum variance} = \displaystyle\sum^{2N_g}_{k=2}{(k-SA)^2p_{x+y}(k)}
Expand Down Expand Up @@ -80,9 +80,131 @@ The mathematical proof is as follows:
(7) Combining (3.) and (6.) yields the following formula:

.. math::
\text{Cluster Tendency} =
\displaystyle\sum^{2N_g}_{k=2}{\Big[\big(k-SA\big)^2p_{x+y}(k)\Big]} =
\textit{ sum variance}
Q.E.D

.. _radiomics-excluded-dissimilarity-label:

Dissimilarity
#############

.. math::
\textit{dissimilarity} = \displaystyle\sum^{N_g}_{i=1}\displaystyle\sum^{N_g}_{j=1}{p(i,j)|i-j|}
Dissimilarity is a measure of local intensity variation defined as the mean absolute difference between the
neighbouring pairs. A larger value correlates with a greater disparity in intensity values
among neighboring voxels.

This feature has been removed, as it is mathematically identical to Difference Average (see
:py:func:`~radiomics.glcm.RadiomicsGLCM.getDifferenceAverageFeatureValue()`).

The mathematical proof is as follows:

(1) As defined in GLCM, :math:`p_{x-y}(k) = \sum^{N_g}_{i=1}\sum^{N_g}_{j=1}{p(i,j)},\text{ where }|i-j|=k`

(2) Starting with Dissimilarity as defined in GLCM:

.. math::
\textit{dissimilarity} = \displaystyle\sum^{N_g}_{i=1}\displaystyle\sum^{N_g}_{j=1}{p(i,j)|i-j|}
= \displaystyle\sum^{N_g-1}_{k=0}{\Big[
\displaystyle\sum^{N_g}_{i=1}\displaystyle\sum^{N_g}_{j=1}{p(i,j)|i-j|} \text{, where }|i-j|=k\Big]}
= \displaystyle\sum^{N_g-1}_{k=0}{\Big[
\displaystyle\sum^{N_g}_{i=1}\displaystyle\sum^{N_g}_{j=1}{p(i,j)k} \text{, where }|i-j|=k\Big]}
(3) Using (1.) and (2.)

.. math::
\textit{dissimilarity} = \displaystyle\sum^{N_g-1}_{k=0}{p_{x-y}(k)k} = \textit{difference average}
Q.E.D.

.. _radiomics-excluded-gldm-label:

Excluded GLDM Features
----------------------

For included features and class definition, see :ref:`radiomics-gldm-label`.

.. _radiomics-excluded-gldm-dependence-percentage-label:

Dependence percentage
#####################

.. math::
\textit{dependence percentage} = \frac{N_z}{N_p}
Dependence percentage is the ratio between voxels with a dependence zone and the total number of voxels in the image.
Because PyRadiomics allows for incomplete dependence zones, all voxels have a dependence zone and :math:`N_z = N_p`.
Therefore, this feature would always compute to 1.

.. _radiomics-excluded-gldm-glnn-label:

Gray Level Non-Uniformity Normalized
####################################

.. math::
\textit{GLNN} = \frac{\sum^{N_g}_{i=1}\left(\sum^{N_d}_{j=1}{\textbf{P}(i,j)}\right)^2}{N_z^2}
Measures the similarity of gray-level intensity values in the image, where a lower GLNN value
correlates with a greater similarity in intensity values. This is the normalized version of the GLN formula.

This formula has been removed, because due to the definition of GLDM matrix (allowing incomplete zones), this feature is
equal to first order Uniformity (see :py:func:`~radiomics.firstorder.RadiomicsFirstOrder.getUniformityFeatureValue()`).

The mathematical proof is as follows:

(1) Starting with Gray Level Non-Uniformity Normalized as defined in GLDM,

.. math::
\textit{GLNN} = \frac{\sum^{N_g}_{i=1}\left(\sum^{N_d}_{j=1}{\textbf{P}(i,j)}\right)^2}{N_z^2}
= \displaystyle\sum^{N_g}_{i=1}{
\frac{ \left( \sum^{N_d}_{j=1}{ \textbf{P}(i,j) } \right)^2 }{ N_z^2 }
}
= \displaystyle\sum^{N_g}_{i=1}{ \left(
\frac{ \sum^{N_d}_{j=1}{ \textbf{P}(i,j) } }{ N_z }
\right)^2}
= \displaystyle\sum^{N_g}_{i=1}{ \left(
\sum^{N_d}_{j=1}{ \frac{ \textbf{P}(i,j) } { N_z } }
\right)^2}
(2) As defined in GLDM, :math:`p(i,j) = \frac{\textbf{P}(i,j)}{N_z}`

(3) Using (1.) and (2.)

.. math::
\textit{GLNN} = \displaystyle\sum^{N_g}_{i=1}{ \left(
\sum^{N_d}_{j=1}{ p(i,j) }
\right)^2}
(4) Because in the PyRadiomics definition incomplete dependence zones are allowed, every voxel in the ROI has a
dependence zone. Therefore, :math:`N_z = N_p` and :math:`\sum^{N_d}_{j=1}{\textbf{P}(i,j)}` equals the number of voxels
with gray level :math:`i` and is equal to :math:`\textbf{P}(i)`, the first order histogram with :math:`N_g` discreet
gray levels, as defined in first order.

(5) As defined in first order, :math:`p(i) = \frac{\textbf{P}(i)}{N_p}`

(6) Using (2.), (4.) and (5.)

.. math::
\displaystyle\sum^{N_d}_{j=1}{\textbf{P}(i,j)} = \textbf{P}(i)
\frac{\sum^{N_d}_{j=1}{\textbf{P}(i,j)}}{N_z} = \frac{\textbf{P}(i)}{N_p}
\displaystyle\sum^{N_d}_{j=1}{\frac{\textbf{P}(i,j)}{N_z}} = \frac{\textbf{P}(i)}{N_p}
\displaystyle\sum^{N_d}_{j=1}{p(i,j)} = p(i)
(7) Combining (3.) and (6.) yields:

.. math::
\textit{GLNN} = \displaystyle\sum^{N_g}_{i=1}{p(i)^2} = Uniformity
Q.E.D.
32 changes: 32 additions & 0 deletions examples/exampleSettings/Full_shape_params.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# This is an example of a parameters file with all shape features enabled, including those marked as redundant/deprecated:
# - Compactness1
# - Compactness2
# - Spherical Disproportion

setting:
label: 1
interpolator: 'sitkBSpline' # This is an enumerated value, here None is not allowed
resampledPixelSpacing: # This disables resampling, as it is interpreted as None, to enable it, specify spacing in x, y, z as [x, y , z]

# "imageType" category is omitted, which will result in default values: only the "Original" (unfiltered) image is used, without additional custom settings

# Featureclasses, from which features must be calculated. If a featureclass is not mentioned, no features are calculated
# for that class. Otherwise, the specified features are calculated, or, if none are specified, all are calculated (excluding redundant/deprecated features).
featureClass:
shape: # disable redundant Compactness 1 and Compactness 2 features by specifying all other shape features
- 'Volume'
- 'SurfaceArea'
- 'SurfaceVolumeRatio'
- 'Compactness1'
- 'Compactness2'
- 'Sphericity'
- 'SphericalDisproportion'
- 'Maximum3DDiameter'
- 'Maximum2DDiameterSlice'
- 'Maximum2DDiameterColumn'
- 'Maximum2DDiameterRow'
- 'MajorAxis'
- 'MinorAxis'
- 'LeastAxis'
- 'Elongation'
- 'Flatness'
25 changes: 6 additions & 19 deletions examples/exampleSettings/Params.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,12 @@ imageType:
Original: {} # for dictionaries / mappings, None values are not allowed, '{}' is interpreted as an empty dictionary

# Featureclasses, from which features must be calculated. If a featureclass is not mentioned, no features are calculated
# for that class. Otherwise, the specified features are calculated, or, if none are specified, all are calculated.
# for that class. Otherwise, the specified features are calculated, or, if none are specified, all are calculated (excluding redundant/deprecated features).
featureClass:
shape: # disable redundant Compactness 1 and Compactness 2 features by specifying all other shape features
- 'Volume'
- 'SurfaceArea'
- 'SurfaceVolumeRatio'
- 'Sphericity'
- 'SphericalDisproportion'
- 'Maximum3DDiameter'
- 'Maximum2DDiameterSlice'
- 'Maximum2DDiameterColumn'
- 'Maximum2DDiameterRow'
- 'MajorAxis'
- 'MinorAxis'
- 'LeastAxis'
- 'Elongation'
- 'Flatness'
shape:
# redundant Compactness 1, Compactness 2 an Spherical Disproportion features are disabled by default, they can be
# enabled by specifying individual feature names (as is done for glcm) and including them in the list.
shape:
firstorder: [] # specifying an empty list has the same effect as specifying nothing.
glcm: # Disable SumAverage by specifying all other GLCM features available
- 'Autocorrelation'
Expand All @@ -58,11 +47,8 @@ featureClass:
- 'DifferenceAverage'
- 'DifferenceEntropy'
- 'DifferenceVariance'
- 'Dissimilarity'
- 'JointEnergy'
- 'JointEntropy'
- 'Homogeneity1'
- 'Homogeneity2'
- 'Imc1'
- 'Imc2'
- 'Idm'
Expand All @@ -75,3 +61,4 @@ featureClass:
- 'SumSquares'
glrlm: # for lists none values are allowed, in this case, all features are enabled
glszm:
gldm: # contains deprecated features, but as no individual features are specified, the deprecated features are not enabled
22 changes: 4 additions & 18 deletions examples/exampleSettings/exampleCT.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,9 @@ imageType:
Wavelet: {}

featureClass:
shape: # disable redundant Compactness 1 and Compactness 2 features by specifying all other shape features
- 'Volume'
- 'SurfaceArea'
- 'SurfaceVolumeRatio'
- 'Sphericity'
- 'SphericalDisproportion'
- 'Maximum3DDiameter'
- 'Maximum2DDiameterSlice'
- 'Maximum2DDiameterColumn'
- 'Maximum2DDiameterRow'
- 'MajorAxis'
- 'MinorAxis'
- 'LeastAxis'
- 'Elongation'
- 'Flatness'
# redundant Compactness 1, Compactness 2 an Spherical Disproportion features are disabled by default, they can be
# enabled by specifying individual feature names (as is done for glcm) and including them in the list.
shape:
firstorder:
glcm: # Disable SumAverage by specifying all other GLCM features available
- 'Autocorrelation'
Expand All @@ -41,11 +29,8 @@ featureClass:
- 'DifferenceAverage'
- 'DifferenceEntropy'
- 'DifferenceVariance'
- 'Dissimilarity'
- 'JointEnergy'
- 'JointEntropy'
- 'Homogeneity1'
- 'Homogeneity2'
- 'Imc1'
- 'Imc2'
- 'Idm'
Expand All @@ -58,6 +43,7 @@ featureClass:
- 'SumSquares'
glrlm:
glszm:
gldm:

setting:
# Normalization:
Expand Down
Loading

0 comments on commit b5e6081

Please sign in to comment.