最近用pyradiomics提影像特征时,出现了如下报错:
IndexError: arrays used as indices must be of integer (or boolean) type
找了一通,发现可以用以下方法进行解决:
首先找出报错位置,是不是
glcm/gldm/glrlm/glszm
文件中的一个,如果是的话,去pyradiomics包内对应的radiomics文件夹下(如果不记得,可以用
pip show pyradiomics
命令来查找具体位置)
找到这几个文件后,打开,在对应位置添加**if list(emptyGrayLevels)**这句话。
以glrlm文件为例,在 P_glrlm = numpy.delete(P_glrlm, emptyGrayLevels – 1, 1)前面添加if list(emptyGrayLevels):
if list(emptyGrayLevels):
P_glrlm = numpy.delete(P_glrlm, emptyGrayLevels - 1, 1)
其他文件同理,就是在numpy.delete前面加上这句话就行。
注:如果添加之后,其他文件还是报同样的错,就继续打开相应文件进行添加(比如,我是从glcm文件开始报错的,glcm/gldm/glrlm/glszm这四个文件都改了之后,问题才解决了)。
版权声明:本文为sinat_35779431原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。