本文主要是介绍Pyradiomics提示错误:arrays used as indices must be of integer (or boolean) type,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近用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这四个文件都改了之后,问题才解决了)。
这篇关于Pyradiomics提示错误:arrays used as indices must be of integer (or boolean) type的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!