如有研究需要数据,请与QQ1807232;或微信扫码添加客服咨询

遥感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.程序源代码:

functionAtmoCorr5,TM_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, samples,lines,bands
;读取TM各波段增益与偏置系数
fn_calib=dialog_pickfile(filter='*.txt')
openr,lun,fn_calib,/get_lun
data=fltarr(2,6)
readf,lun,data
free_lun,lun
  gain=data[0,*]  ;增益值
  offset=data[1,*]  ;偏移值
;利用定标系数将原始DN值转换为大气层顶太阳辐亮度L
  L=fltarr(samples,lines,bands)  ;定义辐亮度
fori=0,bands-1dobegin
    L[*,*,i]=TM_data[*,*,i]*gain[i]+offset[i]  ;计算辐亮度
endfor
return,L
end

来源引用:地理遥感生态网平台