-2

I am doing first order statistics for selected regions from a series of different images. I am using Pyradiomics package to calculate Kurtosis and Entropy, The problem is that I always get the same very low value for the entropy (-3.203426503814917e-16) for all the 90 dataset I have!!.

The mean pixel value of my regions is 1.3 and the mean kurtosis is 5. Any help why the entropy is off?

Here is one of my datasets analysis:

from radiomics import firstorder
import SimpleITK as sitk
import pandas as pd
import os

inputImage = '/maps/ADC600.nii'
label = '/ROI.nii.gz'

img = sitk.ReadImage(inputImage)
label = sitk.ReadImage(label)

extractor = firstorder.RadiomicsFirstOrder(img, label)
result = extractor.execute()

The results I get is

{'10Percentile': array(0.7959345), '90Percentile': array(1.39250703), 'Energy': array(3542.78813808), 'Entropy': array(-3.2034265e-16), 'InterquartileRange': array(0.29801807), 'Kurtosis': array(6.4032361), 'Maximum': array(2.7256342), 'MeanAbsoluteDeviation': array(0.20562959), 'Mean': array(1.08870987), 'Median': array(1.06011275), 'Minimum': array(0.00100029), 'Range': array(2.72463391), 'RobustMeanAbsoluteDeviation': array(0.12463539), 'RootMeanSquared': array(1.12625601), 'Skewness': array(1.09484081), 'TotalEnergy': array(3542.78813808), 'Uniformity': array(1.), 'Variance': array(0.08316343)}



vonludi
  • 419
  • 2
  • 20
Omar Kamal
  • 55
  • 1
  • 9
  • Could you show us how you actually process multiple sets of images? – vonludi Jan 22 '20 at 13:09
  • Just using a for loop after defining the above step as a function. I save the two files for each dataset in a separate folder and I loop through them – Omar Kamal Jan 22 '20 at 15:19
  • Without seeing any actual code it is really hard to help you more efficiently than guessing what might have gone wrong. Have you compared the files in each of the directories? Have you tried to log/compare hashes of the files? – vonludi Jan 22 '20 at 16:48

1 Answers1

1

The default bin width for the histogram was too large for my values. The solution was to adjust the bin width for the histogram to adapt for my low pixel values.

params = {}
params['binWidth'] = 1
extractor = firstorder.RadiomicsFirstOrder(img, label,**params)

Omar Kamal
  • 55
  • 1
  • 9