遥感IDL二次开发(辐射定标)


遥感IDL二次开发(辐射定标)


1.程序功能:
在IDL环境下进行辐射定标 , 并将结果返回ENVI 。
2.运行步骤:
2.1 在ENVI中打开TM数据 , 并将数据传回到IDL工作空间:
首先打开ENVI+IDL8.5 , 导入TM数据 , 然后在右侧工具栏中输入IDL , 点击Export to IDL variable , 选择导入的TM_data , 命名为TM01 。 然后切换到IDL工作空间 , 输入代码后编译运行 。
2.2 读入TM的定标参数 , 将TM的DN值转换为辐亮度L:
在下方控制台中 , 调用函数L= AtmoCorr5(TM_data) , 在弹出的窗口中选择校正参数文档 , 点击回车 , IDL就会自动对图像进行辐射定标 。
2.3 将辐亮度数据传回ENVI , 保存 , 并编辑头文件:
回到ENVI , 在右侧工具栏中输入IDL , 点击 Import from IDL variable , 导入L(辐射定标后的图像) , 如是在新版ENVI 中操作 , 需要打开Data Manager , 才可以显示输出后的图像 。

3.程序源代码:
functionAtmoCorr5TM_data
;L——定标后辐射亮度
;DN——原始灰度值
;Gain和Offset分别为该波段的增益和偏置系数
;读入数据
size_TM=size(TM_data)  ;TM数据的大小
  samples=size_TM[1
 ;TM数据列数
  lines=size_TM[2
 ;TM数据行数
  bands=size_TM[3
 ;TM数据波段数
print sampleslinesbands
;读取TM各波段增益与偏置系数
fn_calib=dialog_pickfile(filter='*.txt')
openrlunfn_calib/get_lun
data=https://mparticle.uc.cn/api/fltarr(26)
readflundata
free_lunlun
  gain=data[0*
 ;增益值
  offset=data[1*
 ;偏移值
;利用定标系数将原始DN值转换为大气层顶太阳辐亮度L
  L=fltarr(sampleslinesbands)  ;定义辐亮度
fori=0bands-1dobegin
    L[**i
=TM_data[**i
*gain[i
+offset[i
 ;计算辐亮度
endfor
returnL
end
【遥感IDL二次开发(辐射定标)】来源引用:地理遥感生态网平台

    推荐阅读