在envi二次开发时,当文件的fid被读入以后,我们需要对其进行处理,那么该如何操作呢?
下面的例子是一个批处理的例子,
其实批处理和正常模式下没有什么区别,只是通过一系列特定的函数库来执行ENVI的功能。
为了使用这些函数,必须首先将它们恢复到IDL内存中。
ENVI始终是一个IDL程序,如果用户使用运行ENVI的IDL时段,用户将能够访问所有ENVI程序和函数。
这种状态通常称为混合批处理模式,因为用户能够使用ENVI特有的库函数而无需初始化批处理模式.这种状况既带来了便利,也带来了问题。举例来说,如果用户在IDL命令行下运行的程序产生了新的影像波段,能够通过ENVI_ENTER_DATA直接将这些数据输入到可用波段列表中。但如果IDL程序崩溃,那么当前的ENVI环境将会整个崩溃。在编写ENVI用户函数的时候混合批处理模式非常有用,因为它模拟了代码执行的最终环境。但是在真正运行批处理程序时,推荐用户开启一个单独的IDL时段,并进行批处理的初始化
在批处理模式下运行ENVI需要先恢复核心的save文件,而后,一个称为ENVI_BATCH_INIT的特定ENVI函数被调用,该函数开启批处理模式。该步处理称为初始化批处理。ENVI_BATCH_EXIT退出批处理的方式和通过ENVI主菜单上选择File-> Exit退出ENVI的效果一样。同样,使用该命令退出ENVI后,ENVI时段使用的License也被释放。
如果ENVI中已经有了您想要实现的功能,为什么不使用它呢?
当然为了获取envi的这些
下面的例子是一个批处理的例子,
其实批处理和正常模式下没有什么区别,只是通过一系列特定的函数库来执行ENVI的功能。
为了使用这些函数,必须首先将它们恢复到IDL内存中。
ENVI始终是一个IDL程序,如果用户使用运行ENVI的IDL时段,用户将能够访问所有ENVI程序和函数。
这种状态通常称为混合批处理模式,因为用户能够使用ENVI特有的库函数而无需初始化批处理模式.这种状况既带来了便利,也带来了问题。举例来说,如果用户在IDL命令行下运行的程序产生了新的影像波段,能够通过ENVI_ENTER_DATA直接将这些数据输入到可用波段列表中。但如果IDL程序崩溃,那么当前的ENVI环境将会整个崩溃。在编写ENVI用户函数的时候混合批处理模式非常有用,因为它模拟了代码执行的最终环境。但是在真正运行批处理程序时,推荐用户开启一个单独的IDL时段,并进行批处理的初始化
在批处理模式下运行ENVI需要先恢复核心的save文件,而后,一个称为ENVI_BATCH_INIT的特定ENVI函数被调用,该函数开启批处理模式。该步处理称为初始化批处理。ENVI_BATCH_EXIT退出批处理的方式和通过ENVI主菜单上选择File-> Exit退出ENVI的效果一样。同样,使用该命令退出ENVI后,ENVI时段使用的License也被释放。
如果ENVI中已经有了您想要实现的功能,为什么不使用它呢?
当然为了获取envi的这些
