Skip to content

[FEATURE EXTRACTION] numpy.linalg.LinAlgError: Array must not contain infs or NaNs #937

@panos1998

Description

@panos1998

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions