我正在研究高光谱卫星图像,并试图在我的数据集上实现SAM算法。我正在尝试使用spectral_angle和msam函数,它们在spectral python库中可用。我正在使用以下命令。预处理后的数据集具有尺寸(20002000,20(
signature=image_cube[300500,:]mmn=spectral_angles(image_cube,signature.reform(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
的数据类型,您可能必须先将其转换为浮点类型。此外,您可以将零替换为您喜欢的任何浮点值(例如,平均频谱(。