ENVI FLAASH大氣校正常見錯誤及解決方法


本文彙總了ENVI FLAASH大氣校正模塊中常見的錯誤,並給出解決方法,分爲兩部分:運行錯誤和結果錯誤。前面是錯誤提示及說明,後面是錯誤解釋及解決方法。

FLAASH對輸入數據類型有以下幾個要求:
1、波段範圍:衛星圖像:400-2500nm,航空圖像:860nm-1135nm。如果要執行水汽反演,光譜分辨率<=15nm,且至少包含以下波段範圍中的一個:
l1050-1210 nm
l770-870 nm
l870-1020 nm
2、像元值類型:經過定標後的輻射亮度(輻射率)數據,單位是:(μW)/(cm2*nm*sr)。
3、數據類型:浮點型(Floating Point)、32位無符號整型(Long Integer)、16位無符號和有符號整型(Integer、Unsigned Int),但是最終會在導入數據時通過Scale Factor轉成浮點型的輻射亮度(μW)/(cm2*nm*sr)。
4、文件類型:ENVI標準柵格格式文件,BIP或者BIL儲存結構。
5、中心波長:數據頭文件中(或者單獨的一個文本文件)包含中心波長(wavelenth)值,如果是高光譜還必須有波段寬度(FWHM),這兩個參數都可以通過編輯頭文件信息輸入(Edit Header)。

運行錯誤
1.Unable to write to this file.File or directory is invalid or unavailable。

X

沒有設置輸出反射率文件名。
解決方法是單擊Output Reflectance File按鈕,選擇反射率數據輸出目錄及文件名,或者直接手動輸入。
2.ACC Error:convert7
IDL Error:End of input record encountered on file unit:0.

平均海拔高程太大。
注意:填寫影像所在區域的平均海拔高程的單位是km:Ground Elevation(Km)。
3.ACC error:avrd:
IDL error:Unable to allocate memory:to make array
Not enough space
ACC_AVRD

爲了能處理大數據,ENVI採用分塊計算的方式,這個提示是分塊(Tile)太大了。
在高級設置裏面(Advanced Settings),tile size:它默認是File-> preferences ->miscellaneous:cache的大小,這個值正常是1~4Mb(0背景很少的情況下);如果0背景較多,這個值還是需要設置大一些,比如100~200m。
4. ACC error:avrd:No nonblank pixels found
IDL error:
OPENR: Error opening file. Unit: 100,

爲了能處理大數據,ENVI採用分塊計算的方式,當Tile設置太小,而且有背景值(0),就會出現一個Tile中全部爲0的情況,提示這個錯誤信息。
在高級設置裏面(Advanced Settings),tile size:設置稍微大一些,如100~200M等。
5. ACC error:lsmooth2:
IDL error:
ACC_LSMOOTH2:Cannot continue with smoothing calculation

ENVI的FLAASH提供領域糾正功能,但是MODIS、AVHRR等圖像分辨率比較低,領域效應區分不出來。
解決方法是在在高級設置裏面(Advanced Settings),將領域糾正(Use Adjacency Correction)設置爲No。
6. ACC error:modrd5:Nonfinite numbers in coefficient array coef<?xml:namespace prefix = o ns = 'urn:schemas-microsoft-com:office:office' />
IDL error:
CDRIVER4V3R2:>>>Wait for MODTRAN4 calculation to finish…

提示傳入MODTRAN模型參數有誤,常常是由於太陽高度角太小或者太大引起的。提示這個錯誤之前會出現以下提示框。

解決方法是確認填寫的影像中心位置經緯度信息(西經爲負數、南緯爲負數)、影像成像時間(格林威治時間)是否正確。
7. Problem:The FLAASH program exited with the following errors:
ACC error: modrd5:reading archieve file header
IDL error:
READU:End of file encountered. Unit: 102, File:
C:Users\administrator\AppData\Local\Temp\acc_modroot.fla
ACC_MODRD5
ACC_KTAEROSOL
ACC_HYPER2
ACC_ACC
ENVI_ACC_EVENT
ENVI_FLAASH_PROCESS_MANAGER
IDLRTMAIN
$MAIN$

在高級設置裏面(Advanced Settings),tile size設置太大,根據內存情況設置小一點的值。tile size的默認值是file->preference中cache size大小。
結果錯誤
1.結果中某一個波段或者多個波段全部爲0或者負值
主要產生的原因是輸入的輻射亮度數據值偏小。
可能有以下幾種情況:
(1)在傳感器定標的時候選擇的是表觀反射率(Reflectance)而不是輻射率數據(Radiance);
(2)沒有做傳感器定標,即沒有將DN值轉換爲輻射率數據;
(3)選擇了錯誤的波譜響應函數;
(4)用BandMath做了輻射亮度的單位換算,在FLAASH中導入輻射亮度數據時,Scale Factor選擇的不是1.0000。
2.結果中極大值、極小值非常多,也就是0~10000之外的值。當選擇RGB假彩色顯示的時候,出現花花綠綠的情況。

輻射定標得到的輻射率數據單位與FLAASH要求的單位不一樣。
可能有以下幾種情況:
(1)用BandMath做了輻射亮度的單位換算,在FLAASH中導入輻射亮度數據時,Scale Factor選擇的不是1.0000。
(2)沒有做單位換算。
3.結果中部分像元爲負值
這個屬於正常現象。FLAASH是採用MODTRAN輻射傳輸模型模擬成像中的大氣過程,而且很多大氣屬性都是通過圖像來估算,加上大氣組成的非均一性,即使MODTRAN4模型精度很高,也不能完全表達大氣輻射傳輸的真實狀況。當影像上有強吸收或者高反射地物時候,就會出現部分像元爲負值(如深水、高密度)或者大於10000。
解決方法可以手動修改,如用周圍的像元的平均值代替,可以使用ENVI下的The DEM Editing Tool工具。
4.結果圖像以RGB顯示比原圖像視覺效果要差,如模糊。
這個需要了解下遙感軟件RGB顯示機制。遙感軟件爲了讓遙感圖像顯示更加“豔麗”,方便解譯,默認會對圖像進行拉伸顯示,一般是2%的線性拉伸。也就是我們常常會看到圖像值有兩個,一個是Scrn值,也就是拉伸之後的顯示值,一個是Data值,也就是原始的圖像DN值。另外一個方面,目前我們的RGB加色法顯示都是基於8bit顯示,也就是0~255。
FLAASH大氣校正之後的結果是16bit的整型,而且存在一些極小、極大值,這些對直方圖整體形狀有一定的影響,影響拉伸效果。解決方法是利用ENVI下的Interactive stretching工具,選擇有效值範圍進行拉伸。
還有一種情況是校正圖像有很多背景值,比如經過幾何校正的整景TM影像。背景及圖像邊緣處的像元在大氣校正之後變成負值或者0值,由於這樣的像元數量多,對圖像的整體拉伸影響很大。解決方法就是將這些像元掩膜掉,如在ROI Tool中,利用Option->Band Threshold to ROI建立一個ROI進行圖像裁剪。
5.結果圖像爲什麼像元值大多是大於1
ENVI FLAASH考慮到數據儲存和後續處理,將大氣校正得到的反射率結果乘以10000變成16bit整型。

如果想讓反射率結果在0~1範圍,可用BandMath,表達式爲b1/10000.0。


轉載地址:http://blog.sina.cn/dpool/blog/s/blog_764b1e9d0100pvrk.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章