Describe el error
De repente, ya no puedo ejecutar el extractor de características (funcionó hasta hace unas semanas). Mensaje de error que recibe:
Traceback (most recent call last):
File "<ipython-input-58-89ccd738bd53>", line 1, in <module>
features = extractor.execute(img, mask, label=255)
File "C:\Anaconda3\envs\pp\lib\site-packages\radiomics\featureextractor.py", line 327, in execute
featureVector.update(self.computeFeatures(inputImage, inputMask, imageTypeName, **inputKwargs))
File "C:\Anaconda3\envs\pp\lib\site-packages\radiomics\featureextractor.py", line 514, in computeFeatures
for (featureName, featureValue) in six.iteritems(featureClass.execute()):
File "C:\Anaconda3\envs\pp\lib\site-packages\radiomics\base.py", line 185, in execute
self._calculateSegment()
File "C:\Anaconda3\envs\pp\lib\site-packages\radiomics\base.py", line 222, in _calculateSegment
for success, featureName, featureValue in self._calculateFeatures():
File "C:\Anaconda3\envs\pp\lib\site-packages\radiomics\base.py", line 229, in _calculateFeatures
self._initCalculation(voxelCoordinates)
File "C:\Anaconda3\envs\pp\lib\site-packages\radiomics\glcm.py", line 111, in _initCalculation
self.P_glcm = self._calculateMatrix(voxelCoordinates)
File "C:\Anaconda3\envs\pp\lib\site-packages\radiomics\glcm.py", line 148, in _calculateMatrix
P_glcm = numpy.delete(P_glcm, emptyGrayLevels - 1, 1)
File "<__array_function__ internals>", line 6, in delete
File "C:\Anaconda3\envs\pp\lib\site-packages\numpy\lib\function_base.py", line 4406, in delete
keep[obj,] = False
IndexError: arrays used as indices must be of integer (or boolean) type
Configuración de PyRadiomics
configuración:
binWidth: 1
padDistance: 0
force2D: Verdadero
Reproducir
from radiomics import featureextractor
import SimpleITK as sitk
import six
import numpy as np
data=np.array([[ 0, 2, 1, 4, 4, 5, 6, 8, 8, 9, 10, 8, 8, 7, 5, 5, 3, 1, 0, 1],
[ 1, 2, 1, 4, 5, 8, 10, 14, 14, 15, 15, 15, 12, 11, 9, 8, 2, 2, 1, 2],
[ 0, 2, 4, 8, 11, 15, 16, 21, 24, 29, 30, 27, 25, 18, 15, 11, 6, 6, 3, 1],
[ 1, 4, 7, 11, 16, 24, 33, 43, 46, 50, 50, 46, 42, 34, 24, 17, 11, 8, 3, 1],
[ 4, 7, 13, 20, 29, 41, 53, 61, 65, 67, 68, 64, 55, 48, 34, 24, 17, 10, 5, 3],
[ 4, 10, 18, 30, 42, 57, 70, 72, 75, 75, 78, 72, 66, 55, 48, 33, 21, 14, 7, 3],
[ 7, 16, 26, 43, 55, 62, 74, 76, 79, 84, 78, 76, 70, 66, 55, 40, 28, 16, 10, 5],
[ 7, 19, 34, 45, 60, 70, 77, 75, 85, 81, 83, 81, 77, 68, 58, 46, 28, 18, 10, 5],
[12, 20, 35, 51, 65, 69, 74, 78, 77, 85, 86, 77, 77, 72, 59, 48, 34, 21, 11, 6],
[11, 22, 33, 46, 59, 71, 76, 80, 85, 87, 86, 84, 76, 76, 68, 54, 36, 23, 11, 6],
[12, 21, 31, 47, 52, 64, 79, 77, 86, 88, 89, 83, 78, 72, 68, 50, 37, 19, 10, 7],
[10, 18, 24, 39, 49, 59, 71, 81, 86, 89, 87, 86, 76, 67, 56, 46, 30, 15, 9, 4],
[ 6, 11, 20, 30, 45, 52, 65, 72, 78, 84, 82, 80, 69, 57, 46, 35, 23, 13, 6, 4],
[ 5, 8, 12, 18, 29, 45, 53, 60, 65, 71, 72, 67, 56, 48, 35, 25, 15, 9, 6, 3],
[ 5, 7, 9, 13, 19, 28, 37, 44, 52, 52, 56, 50, 43, 31, 23, 15, 10, 6, 4, 2],
[ 1, 3, 6, 8, 13, 14, 22, 27, 31, 33, 34, 30, 23, 18, 13, 8, 5, 4, 1, 2],
[ 2, 1, 4, 5, 7, 9, 10, 15, 16, 17, 16, 15, 12, 10, 6, 6, 3, 3, 2, 0],
[ 0, 2, 1, 3, 4, 4, 7, 6, 8, 7, 7, 7, 5, 5, 3, 4, 1, 1, 0, 1]], dtype=np.uint8)
data_mask=np.array([[255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255],
[255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255],
[255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255],
[255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255],
[255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255],
[255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255],
[255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255],
[255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255],
[255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255],
[255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255],
[255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], dtype=np.uint8)
img = sitk.GetImageFromArray(data)
mask = sitk.GetImageFromArray(data_mask)
params = "params.yml"
extractor = featureextractor.RadiomicsFeatureExtractor(params)
features = extractor.execute(img, mask, label=255)
Comportamiento esperado
Una descripción clara y concisa de lo que esperaba que sucediera.
Versión (complete la siguiente información):
Encontré que numpy 1.19.0 se está rompiendo, por debajo de 1.18.5 todavía funciona
Duplicar a # 592
Duplicar a # 592
Olvidé mencionar que probé la solución mencionada en el n. ° 592, sin ningún efecto.
Olvidé mencionar que probé la solución mencionada en el n. ° 592, sin ningún efecto.
Actualmente estoy trabajando para ampliar la solución. Sin embargo, dado que el mismo problema se maneja en el n. ° 592, es mejor reabrir ese problema que iniciar uno nuevo.
Comentario más útil
Encontré que numpy 1.19.0 se está rompiendo, por debajo de 1.18.5 todavía funciona