1. 程式人生 > >ENVI FLAASH大氣校正常見錯誤及解決方法(轉載)

ENVI FLAASH大氣校正常見錯誤及解決方法(轉載)

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
M A I N

在高階設定裡面(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


本文彙總了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
M A I N

在高階設定裡面(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