-
Notifications
You must be signed in to change notification settings - Fork 538
Description
Iam extracting voxelbased radiomics from panorama dataset using their masks https://github.com/DIAGNijmegen/panorama_labels. I use as mask the number 4 which is the pancreatic parenchyma.
I extract all radiomics except shape and in many cases i get this numpy.linalg error for glcm. Finally the glcm feature maps are saved. Is this bug? Or the produced glcm feature maps have incorrect values? I use python 3.9.23, pyradiomics 3.1.0a2, numpy 1.24.4
source ~/.bashrc
conda activate pyradio-env
pyradiomics --verbosity 5 /home/p/petridisp/radiomic/panorama_batch_6.csv \
--mode voxel \
--jobs=15 -o /home/p/petridisp/radiomic/batch6.csv -f csv \
--out-dir /scratch/p/petridisp/pancaim/panorama/batch6/ \
-p /home/p/petridisp/radiomic/params.yaml
imageType:
Original: {}
featureClass:
glcm:
gldm:
glrlm:
glszm:
ngtdm:
firstorder:
setting:
binWidth: 25
force2D: false
resampledPixelSpacing: [1, 1, 1] # 2D spacing for 2D images
voxelSetting:
kernelRadius: 2
maskedKernel: true
initValue: 0
voxelBatch: 5000
[2025-08-06 15:50:37] E: (case 91) radiomics.glcm: FAILED: Traceback (most recent call last):
File "/home/p/petridisp/anaconda3/envs/pyradio-env/lib/python3.9/site-packages/radiomics/base.py", line 238, in _calculateFeatures
yield True, feature, getattr(self, 'get%sFeatureValue' % feature)()
File "/home/p/petridisp/anaconda3/envs/pyradio-env/lib/python3.9/site-packages/radiomics/glcm.py", line 648, in getMCCFeatureValue
Q_eigenValue = numpy.linalg.eigvals(Q.transpose((0, 3, 1, 2)))
File "<array_function internals>", line 200, in eigvals
File "/home/p/petridisp/anaconda3/envs/pyradio-env/lib/python3.9/site-packages/numpy/linalg/linalg.py", line 1043, in eigvals
_assert_finite(a)
File "/home/p/petridisp/anaconda3/envs/pyradio-env/lib/python3.9/site-packages/numpy/linalg/linalg.py", line 195, in _assert_finite
raise LinAlgError("Array must not contain infs or NaNs")
numpy.linalg.LinAlgError: Array must not contain infs or NaNs
I also get
/home/p/petridisp/anaconda3/envs/pyradio-env/lib/python3.9/site-packages/radiomics/glcm.py:258: RuntimeWarning: Mean of empty slice
return numpy.nanmean(ac, 1)
/home/p/petridisp/anaconda3/envs/pyradio-env/lib/python3.9/site-packages/radiomics/glcm.py:294: RuntimeWarning: Mean of empty slice
return numpy.nanmean(cp, 1)