Skip to content

Commit

Permalink
ENH: Add Gray Level Depende Matrix (GLDM)
Browse files Browse the repository at this point in the history
  • Loading branch information
JoostJM committed Aug 23, 2017
1 parent 7db7798 commit 06b8df9
Show file tree
Hide file tree
Showing 7 changed files with 597 additions and 1 deletion.
6 changes: 6 additions & 0 deletions data/baseline/baseline_gldm.csv
@@ -0,0 +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
12 changes: 12 additions & 0 deletions docs/features.rst
Expand Up @@ -12,6 +12,7 @@ subdivided into the following classes:
* :ref:`radiomics-glcm-label` (27 features)
* :ref:`radiomics-glszm-label` (16 features)
* :ref:`radiomics-glrlm-label` (16 features)
* :ref:`radiomics-gldm-label` (15 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 Expand Up @@ -77,5 +78,16 @@ Gray Level Run Length Matrix (GLRLM) Features
:show-inheritance:
:member-order: bysource

.. _radiomics-gldm-label:

Gray Level Dependence Matrix (GLDM) Features
--------------------------------------------

.. automodule:: radiomics.gldm
:members:
:undoc-members:
:show-inheritance:
:member-order: bysource

.. [1] Zwanenburg, A., Leger, S., Vallières, M., and Löck, S. (2016). Image biomarker
standardisation initiative - feature definitions. In eprint arXiv:1612.07003 [cs.CV]
4 changes: 3 additions & 1 deletion docs/index.rst
Expand Up @@ -55,8 +55,10 @@ Currently supports the following feature classes:
* :ref:`Gray Level Cooccurence Matrix <radiomics-glcm-label>` (GLCM)
* :ref:`Gray Level Run Length Matrix <radiomics-glrlm-label>` (GLRLM)
* :ref:`Gray Level Size Zone Matrix <radiomics-glszm-label>` (GLSZM)
* :ref:`Gray Level Dependence Matrix <radiomics-gldm-label>` (GLDM)

On average, Pyradiomics extracts :math:`\approx 1300` features per image, which consist of the 16 shape descriptors and

On average, Pyradiomics extracts :math:`\approx 1500` features per image, which consist of the 16 shape descriptors and
features extracted from original and derived images (LoG with 5 sigma levels, 1 level of Wavelet decomposistions
yielding 8 derived images and images derived using Square, Square Root, Logarithm and Exponential filters).

Expand Down

0 comments on commit 06b8df9

Please sign in to comment.