当前位置: 首页 > news >正文

ENVI IDL学习笔记之基本操作

前言

ENVI IDL(交互式数据语言)是一个通用的科学计算包,它提供了一套数学函数、数据分析工具,以及一些科学可视化和动画工具。IDL 是 ENVI 图像处理和分析软件的基础,可用于编写脚本并自动执行许多使用 ENVI 图形用户界面执行的操作。

IDL 可以交互使用或以“批处理”模式使用。 有一个用于交互使用的高效命令解释器,以及开发可以解释或编译的脚本的选项。 还有一个图形化的 IDL 开发环境。

1、打开ENVI 5.X+IDL 8.5 (64-bit)

尝试在 IDL 提示符下键入以下四个命令:

a = 5
print, a
x = randomu(999)
print, x

观察“print, a”语句和“x = randomu(999)”语句之间的语法差异。IDL 区分不返回值且调用语法中没有括号的过程(例如 print),以及 函数(例如 randomu)在调用时确实使用括号并且总是返回一个值。

现在试试这些命令:

a = [55, 38, -17.333]
b = indgen(3)
print, "a = ", a
print, "b = ", b
print, "a*b = ", a*b

观察数组变量看起来就像标量变量。 IDL 设计用于处理多维数组,许多运算符以“自然方式”处理数组。 我们将在本教程的后面部分看到更多相关信息。

要重复命令,您可以使用箭头键上下浏览之前的命令。 当您到达要重复的命令时,按回车键。

输入问号 ? 寻求在线帮助。 这将弹出一个单独的 GUI,用于访问 IDL 用户信息。 (请注意,在 IDL 提示符下键入“help”会做一些完全不同的事情——它会为您提供所有当前变量和函数的列表)。

一个分号“;” 表示一行的其余部分由注释组成。 行尾的美元符号“$”表示行继续,“&”符号将命令组合在一起。 我们将在下面有关运行模式的部分中看到更多内容。

要退出 IDL,请键入:

exit

对于执行管理,您应该注意一些特殊字符:

  • Ctl-C: 如果可能,停止运行(失控)程序,而不杀死 IDL

  • Ctl-Z: 暂停 IDL

  • Ctl-: 停止(中止)正在运行的程序,可能会使变量和文件处于不确定状态

  • Ctl-D: 停止 IDL,例如退出

2、程序和批处理模式

IDL 可以通过交互式输入命令、交互式创建程序、从命令行读取程序来运行,也可以以批处理模式运行。

当您在命令行中键入命令时,当您按下回车键时,每一行都会立即执行。 (可以在行尾使用美元符号“$”转移到下一行)。

(1)批处理模式

以批处理模式运行是类似的,除了命令来自文件。 在文件名前面加上符号“@”。 pro 子目录中的文件 batch_two_prints 包含四行

a = 5
print, a
a = [2, 3]
print, a

在 IDL 提示符下键入以下内容:

@pro/batch_two_prints

(2)程序

当以交互方式键入并以批处理模式运行时,每一行都会立即执行。 您可以编写可以多次存储和运行的程序,也可以编写可以从程序和其他函数中调用的函数。

要从命令行创建程序,请使用执行命令 .RUN,输入您的命令,然后键入 END。 这时候你的程序就会被编译执行:

ENVI> .RUN
- a = 25
- b = 3
- c = a * b
- print, a, b, c
- END
% Compiled module: $MAIN$.25       3      75

如果文件中有相同的命令集,则可以执行相同的程序:

.RUN pro/simple_main.pro

如果您不希望程序立即执行,请使用 .COMPILE 而不是 .RUN。 然后定义的变量和过程将可用。

上面的例子让它看起来和批处理模式运行的程序很相似。 考虑以下阶乘函数的简单计算。 作为批处理文件,pro/batch_loop 看起来像:

f = 1
for k=1,6 do begin $f = k * f & $print, f & $
end

命令用“&”分隔,行必须连续。 整个循环基本上必须在一行上,因为每一行都会在遇到时立即执行。 想象一下嵌套循环,里面有很长的计算。

与文件中的程序相同的计算不需要 &s 和 $s:

f = 1
for k=1,6 do beginf = k * fprint, f
endfor
end

以函数的使用为例:

IDL> .RUN pro/simple_routine
IDL> simple

可以从批处理文件运行程序。 尝试:

IDL> @batch_run

这会读取并运行 simple_main.pro,然后再次运行它,然后读取并运行 simple_routine.pro。

有关创建和运行程序(包括其他命令)的更多信息,请参阅 IDL 联机帮助。

相关文章:

ENVI IDL学习笔记之基本操作

前言ENVI IDL(交互式数据语言)是一个通用的科学计算包,它提供了一套数学函数、数据分析工具,以及一些科学可视化和动画工具。IDL 是 ENVI 图像处理和分析软件的基础,可用于编写脚本并自动执行许多使用 ENVI 图形用户界…...

多线程面试题

1. Sychronized的锁升级过程是怎样的? 2. Tomcat 中为什么要使用自定义类加载器? 3. 说说对线程安全的理解 4. 对守护线程的理解 5. 并发、并行、串行之间的区别 6. Java死锁如何避免? 7. 谈谈你对AQS的理解,AQS如何实现可重入锁&…...

YARN运行流程

YARN是Hadoop资源管理器,他是一个通用资源管理平台和调度平台,可为上层应用提供统一的资源管理和调度,MapReduce等运算程序则相当于运行于操作系统上的应用程序,YARN为这些程序提供运算所需的资源内存、cpu。 YARN并不清楚用户提…...

java八股系列——SpringMVC从接受请求到完成响应的过程

Spring的MVC框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。 流程大致如下: 用户发起请求:用…...

Elasticsearch索引全生命周期

索引(Index)是Elasticsearch中最重要的概念之一,也是整个Elasticsearch操作的基础,它是相互关联的文档的一个集合。在Elasticsearch种,数据存储为 JSON 文档,每个文档将一组键(字段或属性的名称)与其对应的…...

汇编指令学习(LOOP)

一、xor异或操作,相同为0,不同为1xor eax,eaxeax异或eax,相同为0,并把结果存放到eax,简单说该语句就是想eax寄存器清零。二、ECX,计数器mov ecx,0x3将ecx寄存器设置为3三、DEC减一操作dec ecxecx寄存器的值…...

Linux 配置本地yum源

挂载光盘 进入包 配置路径,查看在线yum源 移动在线yum源到/home/目录下 进入vi,任意取名以.repo结尾即可 按住i进行编辑,输入以下内容 注意gpgcheck1是检验,配置本地yum源不需要检验 写入上图内容按住:输入wq,点击回车…...

【PyTorch】教程:torch.nn.LeakyReLU

torch.nn.LeakyReLU 原型 CLASS torch.nn.LeakyReLU(negative_slope0.01, inplaceFalse) 参数 negative_slope (float) – 控制负值斜率,默认为 1e-2inplace (bool) – in-place 操作,默认为 False 定义 LeakyReLU(x)max⁡(0,x)negative_slope∗min⁡…...

【刷题】-- 基础 -- 二分查找

精于结构、敏于心智、熟于代码 方式:对于会的代码:学会以最快的速度构建,并以最快的速度书写;对于不会的代码:学会(以最短的路径下)看懂别人的代码。学会使用参考文档、熟悉每一个容器。 刷题位…...

Spark MLlib 特征工程

Spark MLlib 特征工程预处理特征选择归一化离散化Embedding向量计算特征工程制约了模型效果 : 决定了模型效果的上限 , 而模型调优只是在不停地逼近上限好的特征工程才能有好的模型 特征处理函数分类 : 预处理 : 将模型无法直接消费的数据,转为可消费的数据形式特…...

CentOS7 完全卸载 php

在 CentOS 7 使用 yum install 简单安装 php 后,发现 php 版本 5.4 ,太低了! 然后,使用 yum remove 简单卸载后,发现 php 还在,不干净! 只好 rpm 慢慢卸载 rpm -qa |grep php php-gd-5.4.16-4…...

关于OCS认证里必须知晓的内容

【关于OCS认证里必须知晓的内容】美国非营利组织Textile Exchange推出的有机认证标准——有机含量标准(The Organic Content Standard),简称OCS。该标准通过跟踪有机原材料的种植从而监管整个有机产业链。OCS将应用于各种有机种植原料的验证,而不只限于有…...

创业做电商难不难?新人做电商怎么才能挣钱?

这几年经济不景气,创业做电商的人越来越多,但是,对于多数人来说,一开始做电商,都是试错成本,没有系统学习或者是跟着半吊子二把刀学的,结果赔钱就算了,新人创业做电商到底难不难&…...

【项目设计】高并发内存池(七)[性能测试和提升]

🎇C学习历程:入门 博客主页:一起去看日落吗持续分享博主的C学习历程博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 也许你现在做的事情,暂时看不到成果,但不要忘记&…...

PHP:Laravel cast array json数据存数据库时unicode 编码问题和update更新不触发数据转换

目录问题描述问题解决方式一:自定义属性方式二:继承覆写方式三:trait复用方式四:定义Cast子类update不生效参考文章问题描述 Model示例 class UserModel extends Model {protected $table tb_user;protected $casts [alias …...

自动化测试总结--断言

采购对账测试业务流程中,其中一个测试步骤总是失败,原因是用例中参数写错及断言不明确 一、问题现象: 采购对账主流程中,其中一个步骤失败了,会导致这个套件一直失败 图(1)测试报告视图中&…...

传输线的物理基础(三):传输线的瞬时阻抗

每个信号都有一个上升时间 RT,通常是从 10% 到 90% 的电压电平测量的。当信号沿传输线向下移动时,前沿在传输线上展开并具有空间范围。如果我们可以冻结时间并观察电压分布向外移动时的大小,我们会发现类似下图的东西。传输线上上升时间的长度…...

第六章:多线程

第六章:多线程 6.1:程序、进程、线程基本概念 程序 程序program是为了完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程 ​ 进程process是程序的一次执行过程,或是正在运行的一个程序。是一个…...

铁路与公路

蓝桥杯集训每日一题acwing4074 某国家有 n 个城市(编号 1∼n)和 m 条双向铁路。 每条铁路连接两个不同的城市,没有两条铁路连接同一对城市。 除了铁路以外,该国家还有公路。 对于每对不同的城市 x,y,当且仅当它们之…...

GitHub Copilot 全新升级,工作效率提升 55%

2021年 6 月,GitHub 和 OpenAI 推出了 GitHub Copilot 预览版,可根据命名或者正在编辑的代码上下文为开发者提供代码建议,被称为“你的 AI 结对程序员”。 近日,GitHub 宣布,经过去年 12 月以来的短暂测试后&#xff…...

【IoT】《天道》中音响案例的SWOT分析

在20世纪80年代初,SWOT最初是由美国知名管理学教授海因茨韦里克提出的。 之后这个工具就经常被用于企业的战略分析、竞争对手分析等场景。 在每年例行的公司产品规划过程中,我个人也经常使用这个工具。 由于涉及一些公司商业上的信息,下面会用…...

如何实现接口幂等性

1 什么是幂等 幂等操作的特点是一次或者任意多次执行所产生的影响均与一次执行的影响相同,不会因为多次的请求而产生不一样的结果。换句话说,就是我使用相同的请求参数,去请求同一个接口,不管请求多少次获取到的响应数据应该是一…...

相恨见晚的office办公神器(不坑盒子/打工人Excel插件2023年最新版)

不坑盒子 这是一个非常好用的插件工具,专门应用在Word文档和wps,支持Office 2010以上的版本,操作也简单且实用。 不坑盒子下载及使用说明 一键排版功能 像是下面的自动排版功能,可以在配置里面先设定好需要的格式,…...

matlab基础到实战(1)

目录概述sin函数例子四则运算实数复数逻辑运算复数运算模幅角共轭向量二维向量定义序列生成向量向量索引方式加减乘除向量间运算加减乘法除法概述 MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理…...

谷歌发布编写分布式应用的框架Service Weaver

一个新的框架,在本地以模块化单体的形式运行,一旦部署,则为分布式微服务架构 转载请注明来源:https://janrs.com/2023/03/%e8%b0%b7%e6%ad%8c%e5%8f%91%e5%b8%83%e7%bc%96%e5%86%99%e5%88%86%e5%b8%83%e5%bc%8f%e5%ba%94%e7%94%a8…...

详解FPGA:人工智能时代的驱动引擎观后感

详解FPGA:人工智能时代的驱动引擎观后感 本书大目录 第一章 延续摩尔定律 第二章 拥抱大数据的洪流 第三章 FPGA在人工智能时代的独特优势 第四章 更简单也更复杂——FPGA开发的新方法 第五章 站在巨人肩上——FPGA发展新趋势 文章目录详解FPGA:人工智能…...

Rest/Restful接口

Rest Rest的全称是Representational State Transfer 。Rest是一种架构风格。Rest有很多原则和限制: 客户端-服务端架构模式无状态可缓存统一接口分层系统按需缓存 Rest对我们开发人员来说基本上就是资源,我们一般通过URI表示我们请求的一个资源。例如&#xff1a…...

【vue init】三.项目引入axios、申明全局变量、设置跨域

教程目录 一:《【vue init】使用vue init搭建vue项目》 二:《【vue init】项目使用vue-router,引入ant-design-vue的UI框架,引入less》 三:《【vue init】项目引入axios、申明全局变量、设置跨域》 根据前文《【vue init】项目使…...

搭建nextcloud私有云盘

要搭建Nextcloud,需要在服务器上安装和配置Nginx、PHP和SQLite3。下面是一些基本步骤: 安装Nginx 可以使用包管理器进行安装。例如,在Ubuntu上可以运行以下命令: sudo apt update sudo apt install nginx配置Nginxwget -P /home/u…...

05 | 如何安全、快速地接入OAuth 2.0?

05 | 如何安全、快速地接入OAuth 2.0? 构建第三方软件应用 第一点,注册信息 小兔软件的研发人员提前登录到京东商家开放平台进行手动注册,以便后续使用这些注册的相关信息来请求访问令牌。兔软件需要先拥有自己的 app_id 和 app_serect 等信…...

网站建设用什么语言开发/产品推广软文

juery传统轮播 css: html: js:...

宁波建设工程主管部门网站/百度一下你就知道移动官网

开发需求 删除列表内数据,不影响到其他模块内的内容 代码实现 后端处理代码 Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setCh…...

建设医疗网站/关键词批量调词 软件

实验目的: 1 使用ADLDAP验证用户 2 在AD中给用户添加banner 拓扑: ASA配置: : Saved : ASA Version 8.4(2) ! hostname ciscoasa enable password 8Ry2YjIyt7RRXU24 encrypted passwd 2KFQnbNIdI.2KYOU encrypted names ! interface Gigabit…...

中文wordpress模版/软件推广平台

挑战1:安全性 自公共云出现以来,企业一直担心潜在的安全风险,并且没有发生变化。在RightScale调查中,这是受访者提出的头号挑战:77%的人表示云安全是一项挑战,其中29%的人称之为重大挑战。 与其他IT员工相…...

培训销售网站建设/免费b2b推广网站

一.先以非授权的模式启动MongoDB非授权: linux/Mac : mongod -f /mongodb/etc/mongo.conf windows : mongod --config c:\mongodb\etc\mongo.conf 或者 net start mongodb (前提是mongo安装到了服务里面) 备注: /mongodb/etc/mong…...

wordpress书本目录模板/百度seo排名查询

下载 PowerDesigner 15.1 的安装文件和破解文件 PowerDesigner 15.1 下载地址:http://pan.baidu.com/share/link?shareid177870&uk3626956064 破解文件下载地址:http://pan.baidu.com/share/link?shareid177873&uk3626956064 安装详细图解步骤…...