码迷,mamicode.com
首页 > 其他好文 > 详细

ENVI-IDL的MATH_DOIT和CF_DOIT函数(对FID和POS参数的讨论)

时间:2019-05-08 10:55:19      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:同文件   格式   id3   目的   mat   standard   相对   简单   结果   

MATH_DOIT相当于ENVI的band math,可以完成各种波段运算。参数比较简单,EXP为运算公式的字符串,其他参数均为常见参数。

CF_DOIT可以将已有的文件保存为ENVI格式文件,相当于ENVI菜单下FILE-->SAVE AS-->ENVI STANDARD命令。没有特别生僻的参数。

但这两个函数的FID和POS参数与平时的运用有所不同,有必要讨论一下,举一反三。

FID:

MATH_DOIT函数的FID实际上是一个fid的数组,在运算band位于不同文件时,用于指向该band所在的文件。当所有运算波段处于同一文件下时,亦可以写作FID=FID,即只有本文件的FILE ID。

CF_DOIT函数的FID意义同上,表示需要处理的所有FILE ID,FID的排列顺序为最后生成新文件内各文件的排列顺序。

POS:

MATH_DOIT函数的POS数组应当与EXP公式中的BAND数目和顺序相对应,例如EXP=B1+B2+B3,则POS=[0,1,2].FID=[FID1,FID2,FID3],如果是同一文件的波段,则FID=[FID,FID,FID]或FID=FID.

CF_DOIT的POS参数有所不同,需要特别注意。由于CF_DOIT在保存文件时不仅能选择文件的数目和顺序,而且还能选择保存的波段数目和波段顺序,所以POS实际上是一个二维数组,POS=[NS,NL]。其中NS表示各个文件的合成波段数目和顺序,NL表示文件的数目。例如:

POS=[[0,1],[1,2],[0,2]],意思是一共合成3个文件,按照从上到下的顺序,第一个文件合成0和1波段,第二个文件合成1和2波段,第三个文件合成0和2波段。

总结起来,这两个涉及到文件和波段数目和顺序的函数在使用时要注意FILE ID的排列和波段顺序、数目的排列,不然会得到莫名其妙的结果(空图像)。

ENVI-IDL的MATH_DOIT和CF_DOIT函数(对FID和POS参数的讨论)

标签:同文件   格式   id3   目的   mat   standard   相对   简单   结果   

原文地址:https://www.cnblogs.com/zgl-gis/p/10830450.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!