BandMath工具能夠方便的執(zhí)行圖像中各個(gè)波段的加、減凌埂、乘驱显、除、三角函數(shù)、指數(shù)埃疫、對(duì)數(shù)等數(shù)學(xué)函數(shù)計(jì)算伏恐,也可以使用IDL編寫的函數(shù)。BandMath工具使用函數(shù)都是基于IDL的數(shù)據(jù)組運(yùn)算符栓霜。
IDL的數(shù)組運(yùn)算符使用方便且功能強(qiáng)大翠桦。它們可以對(duì)圖像中的每一個(gè)像元進(jìn)行單獨(dú)檢驗(yàn)和處理,而且避免了FOR循環(huán)的使用(不允許在波段運(yùn)算中使用)胳蛮。數(shù)組運(yùn)算符包含關(guān)系運(yùn)算符(LT犀勒、LE酬土、EQ、NE、GE两残、GT)睁枕、Boolean運(yùn)算符(AND威根、OR采缚、NOT、XOR)和最小值督勺、最大值運(yùn)算符(<渠羞、>)。這些特殊的運(yùn)算符對(duì)圖像中的每個(gè)像元同時(shí)進(jìn)行處理智哀,并將結(jié)果返還到與輸入圖像具有相同維數(shù)的圖像中次询。例如:要找出所有負(fù)值像元并用值-999代替它們,可以使用如下的波段運(yùn)算表達(dá)式:
(b1 lt 0)*(-999)+(b1 ge 0)* b1
關(guān)系運(yùn)算符對(duì)真值(關(guān)系成立)返回值為1瓷叫,對(duì)假值(關(guān)系不成立)返回值為0屯吊。系統(tǒng)讀取表達(dá)式(b1 lt 0)部分后將返還一個(gè)與b1維數(shù)相同的數(shù)組,其中b1值為負(fù)的區(qū)域返回值為1摹菠;其他部分返回值為0盒卸,因此在乘以替換值-999時(shí),相當(dāng)于只對(duì)那些滿足條件的像元有影響次氨。第二個(gè)關(guān)系運(yùn)算符(b1 ge 0)是對(duì)第一個(gè)的補(bǔ)充——找出那些值為正或0的像元蔽介,乘以它們的初始值,然后再加入替換值后的數(shù)組中煮寡。這個(gè)用法可以擴(kuò)展到兩個(gè)圖像中虹蓄,比如圖像1中值大于220(有云部分)用圖像2中對(duì)應(yīng)的像素值代替,其余保留圖像1中的值幸撕,表達(dá)式就可以寫成:
(b1 gt 220)*b2+(b1 le 220)* b1
類似的使用數(shù)組運(yùn)算符的表達(dá)式為波段運(yùn)算提供了很強(qiáng)的靈活性薇组。下表中描述了BandMath工具中常用的IDL數(shù)組操作函數(shù),詳細(xì)介紹杈帐,請(qǐng)參閱《IDL Reference Guide》体箕。