主要内容

empiricalLine

高光谱数据的经验线标定

    描述

    例子

    newhcube= empiricalLine (hcubeimgSpectrafieldSpectrafieldWL对高光谱数据进行经验线校准,hcube.该函数计算经验线因子来强制图像光谱数据,imgSpectra,以匹配场反射率光谱,fieldSpectra,表示波长fieldWL.有关更多信息,请参见算法

    请注意

    此函数需要图像处理工具箱™高光谱成像库.您可以安装图像处理工具箱高光谱成像库从Add-On Explorer。有关安装外接程序的详细信息,请参见获取和管理外接组件

    例子

    全部折叠

    将高光谱数据读入工作空间。该数据来自EO-1 Hyperion传感器,像素值为数字数字。

    超立方体(“EO1H0440342002212110PY_cropped.hdr”);

    从输入数据中删除坏带。

    hcube = removeBands(hcube,“BandNumber”,找到(~ hcube.Metadata.BadBands));

    将像素值从数字数字转换为顶部大气辐射值(TOA)。

    Hcube_toa = dn2radiance(hcube);

    选择亮度值较低的像素作为目标像素,并将像素值存储为单元格数组。该像素属于输入数据的tar区域。

    targetPixel = hcube_toa.DataCube(100,86,:);imgSpec = {permute(targetPixel,[3 1 2])};

    从ECOSTRESS库中读取焦油材料的反射光谱特征。

    文件名=“manmade.road.tar.solid.all.0099uuutar.jhu.becknic.spectrum.txt”;信息= readecostress ssig(文件名);

    从ECOSTRESS光谱特征元数据中得到场反射率光谱及其对应的波长信息。将这些值存储为单元格数组。

    refSpec = {info.Reflectance};refWL = {info.Wavelength};

    对亮度值高光谱数据进行经验线校准。

    hcube_empirical = empiricalLine(hcube_toa,imgSpec,refSpec,refWL);

    通过从未校准的数字超立方体和校准的超立方体中选择相同的波段图像来检查结果。出于可视化的目的,将两个波段图像的值重新缩放到范围[0,1]。计算重新缩放的波段图像之间差值的绝对值。

    inputBand = rescale(hcube.DataCube(:,:,159));outputBand = rescale(hcube_empirical.DataCube(:,:,159));diffBand = abs(inputBand-outputBand);

    显示原始光谱波段图像,经经验校正的光谱波段图像,以及波段图像之间的绝对值差,以可视化的方式显示其变化。

    图(“位置”,[0 0 700 400])子图(“位置”,[0 0 0.25 0.9]) imagesc(inputBand) title(“输入乐队”)轴次要情节(“位置”,[0.3 0 0.25 0.9]) imagesc(outputBand)轴标题(“输出乐队”)次要情节(“位置”,[0.6 0 0.25 0.9]) imagesc(diffBand)轴标题(不同图像的) colormap灰色的

    图中包含3个轴对象。标题为Input Band的坐标轴对象1包含一个图像类型的对象。标题为Output Band的Axes对象2包含一个image类型的对象。标题为Difference Image的坐标轴对象3包含一个Image类型的对象。

    输入参数

    全部折叠

    输入高光谱数据,指定为超立方体对象。的DataCube的属性超立方体对象存储高光谱数据立方体。

    输入像素值可以是数字、TOA亮度值或TOA反射率值。若要将包含数字的超立方体转换为包含TOA辐射度或TOA反射率数据的超立方体,请使用dn2radiancedn2reflectance函数,分别。

    图像光谱数据,指定为N-by-1单元格数组。N是经验线校准中使用的像素或字段的数量。每个单元格包含一个C-by-1数值向量,其中C高光谱波段的数量是多少hcube

    场反射光谱,指定为N-by-1单元格数组。N是经验线校准中使用的像素或字段的数量。每个单元格包含一个场反射率向量。向量在单元格之间的大小可以不同,但向量在每个单元格中的长度不同fieldSpectra而且fieldWL必须匹配。

    场反射光谱的波长,以纳米为单位,指定为N-by-1单元格数组。N是经验线校准中使用的像素或字段的数量。每个单元格包含一个P-by-1矢量的场波长,不同的长度。向量在每个单元格中的长度fieldSpectra而且fieldWL必须匹配。

    输出参数

    全部折叠

    校准的高光谱数据,返回为超立方体对象或与输入数据一致的三维数值数组,inputData.数值输出的数据类型为.当输入数据时inputData为数据类型,则修正后的数据也是数据类型.否则,更正的数据为数据类型

    算法

    empiricalLine函数对每个波段进行线性回归,使数字(DN)或TOA辐射度或TOA反射率与表面反射率相等。求解线性回归方程可以得到每个波段的增益和偏移值。这个方程显示了经验线因子增益和偏移值是如何计算的:

    ρ 年代 u r f 一个 c e λ r λ + o f f 年代 e t

    收益()和偏移量(抵消)为经验直线方程中的未知参数。ρλ是输入高光谱数据(称为现场参考光谱)中已知的参考物质的表面反射率值。rλ是输入高光谱数据(称为图像光谱数据)中参考物质的测量值。测量值可以是数字、TOA辐射度或TOA反射率。

    场参考光谱为先天的测量也可以从光谱库读取。经验直线法求解线性方程以求得增益和偏置值。输入高光谱数据中所有其他像素的表面反射率值是使用估计增益和偏移值计算的。

    empiricalLine函数自动重新采样输入场光谱以匹配所选的数据波长hcube

    为了求解线性回归方程,每个波段至少要有两个场谱值。如果empiricalLine函数为每个波段只提供一个场谱值,偏移值设为零。如果任何波段都没有可用的场谱值,则此函数抛出错误。

    参考文献

    [1]罗伯茨,D. A.山口Y.和R. J. P.里昂。AIS数据校准的各种技术比较在第二届机载成像光谱仪数据分析研讨会论文集, Gregg Vane和Alexander F. H. Goetz主编,21-30。帕萨迪纳:喷气推进实验室,1986年。

    [2]克鲁斯,f.a., K. S.基尔林-杨,J.W.博德曼。用63通道成像光谱仪在内华达州Cuprite进行矿物测绘摄影测量工程与遥感“,56岁的没有。1(1990年一月):83-92。

    版本历史

    R2020b中介绍