- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;主要内容;IDL 新特性介绍;支持Python 2.7+和Python 3.4+版本
支持调用所有IDL程序和Python模块
无缝调用:在代码编写上保持原有风格
调用中所有输出参数被转换为标准输出格式
自动处理代码字母大小写和行列优先顺序
可以在任意语言中执行任意命令字符串
自动将IDL数组转换为NumPy数组
调用程序或方法时,数据按地址进行传递
可以双向传递主变量;IDL 直接调用 Python
IDL ran=python.import(numpy.random)
IDL arr=ran.rand(100)
IDL plt=python.Import(matplotlib.pyplot)
IDL p=plt.plot(arr)
IDL void=plt.show(block=0)
IDL 中使用 Python 命令行模式
IDL
import matplotlib.pyplot as plt
import numpy.random as ran
arr = ran.rand(100)
p = plt.plot(arr)
plt.show()
;Python 中调用 IDL
from idlpy import IDL
import numpy.random as ran
arr = ran.rand(100)
p1 = IDL.plot(arr, title=My Plot)
p2 = IDL.plot(IDL.smooth(arr,5), overplot=1)
p2.color = red
p2.thick = 2
p1.close();调用格式
调用示例
简单调用
修改行列数
修改默认颜色
添加首选、自定义颜色
嵌入用户界面;FOLDERWATCH
FolderWatch::Init —— 对象初始化
FolderWatch::Check —— 检查是否正在监视某文件夹
FolderWatch::Start —— 开始监视指定文件夹
FolderWatch::Stop —— 停止监视
;静态方法与属性;ENVI 全新智能化二次开发;ENVI 5.x 提供全新的开发模式;虚拟栅格(Virtual Raster);空间裁剪:ENVISubsetRaster
图像融合:ENVINNDiffusePanSharpeningRaster
线性拉伸:ENVILinearPercentStretchRaster;图像镶嵌:ENVIMosaicRaster
;图像处理(ENVITask);图像处理(ENVITask);图像处理(ENVITask);变化监测(Change Detection)
;高分1号数据预处理
;高分1号数据预处理 演示视频;高分1号预处理 ENVITask 编写流程
;调用高分1号预处理 ENVITask
编译pro为sav文件
将sav与task文件拷贝至custom_code文件夹
编写 ENVI Extension 代码
构建工程,生成sav文件
拷贝sav文件到Extensions文件夹
启动 ENVI 即可;Landsat 8 地表温度反演;批量自动配准;自动验证参数的正确性,用户无需添加错误处理代码;
如果用户没有设置输出路径,ENVITask会提供一个临时的文件名,ENVI将在退出时自动清理临时文件;
自动生成一个动态的用户界面,允许用户交互式地输入参数和运行任务;
已有的IDL代码,在很少代码修改的基础上即可实现自定义ENVITask;
可以部署任务到企业级服务器(ENVI Services Engine);ENVI Services Engine 服务发布与调用;ESE 自带服务调用;以高分1号数据预处理为例
;以动态变化监测为例;以 ESE_Canny 服务为例
IDL task=ESE.FindTask(duhuijian,ese_canny)
IDL job = task.Run(input=image.tif)
IDL job.GetParameters(/names)
INPUT
BEFORE
RESULT
IDL job.result
{
url: http://DUHUIJIAN:8181/ese/jobs/18/result_canny.png
}
IDL spawn, start + job.result[url];ESE Classes;再来看一个例子,高分1号数据预处理服务
IDL task = ESE.FindTask(duhuijian, ESE_GF1_Process)
IDL task
ESETASK 622
TASK NAME: ESE_GF1_Process
EXECUTION TYPE: asynch
文档评论(0)