问题描述
我正在研究高光谱卫星图像,并试图在我的数据集上实现SAM算法。我正在尝试使用Spectrum python库中可用的spectral_angle和msam函数。 我正在使用以下命令。预处理后的数据集的维数为(2000,2000,20)
signature = image_cube [300,500,:] mmn = spectral_angles(image_cube,signature.reshape(1,20))
我正在得到一个包含所有值'Nan'的numpy数组。
解决方法
您的数据中显然有NaN值。假设image_cube
,请尝试以下操作:
image_cube[np.isnan(image_cube)] = 0
signature=image_cube[300,500,:]
mmn=spectral_angles(image_cube,signature.reshape(1,20))
根据image_cube
的数据类型,可能必须先将其转换为浮点类型。另外,您可以用任意喜欢的浮点值(例如,平均频谱)替换零。