波段运算(bandmath)工具中常用的函数

 

BandMath工具能够方便的执行图像中各个波段的加、减、乘、除、三角函数、指数、对数等数学函数计算,也可以使用IDL编写的函数。BandMath工具使用函数都是基于IDL的数据组运算符。

IDL的数组运算符使用方便且功能强大。它们可以对图像中的每一个像元进行单独检验和处理,而且避免了FOR循环的使用(不允许在波段运算中使用)。数组运算符包含关系运算符(LTLEEQNEGEGT)、Boolean运算符(ANDORNOTXOR)和最小值、最大值运算符(<>)。这些特殊的运算符对图像中的每个像元同时进行处理,并将结果返还到与输入图像具有相同维数的图像中。例如:要找出所有负值像元并用值-999代替它们,可以使用如下的波段运算表达式:

b1 lt 0*-999+b1 ge 0* b1

关系运算符对真值(关系成立)返回值为1,对假值(关系不成立)返回值为0。系统读取表达式(b1 lt 0)部分后将返还一个与b1维数相同的数组,其中b1值为负的区域返回值为1;其他部分返回值为0,因此在乘以替换值-999时,相当于只对那些满足条件的像元有影响。第二个关系运算符(b1 ge 0)是对第一个的补充——找出那些值为正或0的像元,乘以它们的初始值,然后再加入替换值后的数组中。这个用法可以扩展到两个图像中,比如图像1中值大于220(有云部分)用图像2中对应的像素值代替,其余保留图像1中的值,表达式就可以写成:

   b1 lt 220*b2+b1 le 220* b1                (第一个应该是gt)

类似的使用数组运算符的表达式为波段运算提供了很强的灵活性。下表中描述了BandMath工具中常用的IDL数组操作函数,详细介绍,请参阅《IDL Reference Guide》。

 

种类

操作函数

基本运算

加(+)、减(-)、乘(*)、除(/

三角函数

正弦sinx)、余弦cosx)、正切tanx

反正弦asinx)、反余弦acosx)、反正切atanx

双曲正弦sinhx)、双曲余弦coshx)、双曲正切tanhx

关系和逻辑运算符

小于(LT)、小于等于(LE)、等于(EQ)、不等于(NE)、大于等于(GE)、大于(GT

ANDORNOTXOR

最小值运算符(<)和最大值运算符(>

其他数学函数

指数(^)和自然指数(expx))

自然对数(alogx))

10为底的对数(alog10x))

整型取整——roundx)、ceilx)、和floorx

平方根(sqrtx))

绝对值(absx))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值