前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IDL入门学习教程

IDL入门学习教程

作者头像
Twcat_tree
发布2022-12-05 17:20:37
1.1K0
发布2022-12-05 17:20:37
举报
文章被收录于专栏:二猫の家二猫の家

IDL介绍——什么是IDL?

Interactive Data I anguage(交互式数据语言) 第四代计算机语言 跨平台应用开发 科学数 据分析 可视化表达

背景

Exelis V isual Information Solut ions ➢1975年, 美国科罗拉多州立大学负责NASA的火星计划中的 影像处理,实现了IDL ➢1994年, 用IDL开发ENVI 2006年,RSI公司重组为ITT Visual Informat ion Solutions (简称ITT VIS) ➢2008年,IDL7. 0发布,全新的基于Eclipse的开发环境; ➢2010年7月,IDL8. 0正式发布,改进的开发环境、强大的可 视化功能、完善的语法结构 ➢2012年,重组为ExelisVis ➢2012年5月,发布了IDL8. 2&ENVI5.0 ➢2013年5月,发布了IDL8. 2. 3&ENVI5.0SP3 …

IDL介绍——IDL的功能组成

在这里插入图片描述
在这里插入图片描述

IDL特点

丰富的数据输入输出 -常规文件

  • ASCII
  • 二进制
  • 图像

-科学数据格式

  • HDF
  • HDF5
  • NetCDF

-医学影像DICOM

擅长处理矢量或数组 内嵌大量函数 代码量少 运行速度快 算法底层优化

简单易学

高级图像处理能力 图像类型转换 图像几何变换 大小 旋转 纠正 贴图 图像域变换 图像增强和滤波 图像的形态学 图像的识别

支持OpenGL加速 三维图形技术 Shader支持 卷积滤波 色彩补偿 显示补偿 …

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

IDL入门

资料下载 首先,切换工作空间

在这里插入图片描述
在这里插入图片描述

1.pro文件

IDL创建一个工作空间,工作空间下可有多个工程文件,一个工程文件里可写多个pro过程,但必须有一个pro过程与工程文件同名关键关键: pro过程保存的文件名必须和程序中所写的pro 后名称一致。否则编译失败,也不可运行。

2.中文乱码情况

如果相关IDL程序是写界面,且界面上包括中文字符,如果运行出现乱码,修改方式: 窗口----首选项----常规----工作空间----文本文件编码, 在这里改成GBK 或者手输 GBK2312

3.添加作者信息(文件、程序注释)

给自己的idl程序加作者信息等:源码----添加文件注释/添加程序注释 修改默认格式:窗口----首选项----IDL----IDLdoc 修改时可添加变量(在下拉栏的最后) eg:我的

代码语言:javascript
复制
  ;+
  ; Description:
  ;    Describe the procedure.
  ; Author: ${user}
  ; date: ${date}
  ;-

效果:

在这里插入图片描述
在这里插入图片描述

4.调试(打断点/逐语句/逐过程)

1.打断点(在程序行前双击),出现下图红点,运行程序会在红点位置暂停

在这里插入图片描述
在这里插入图片描述

2.逐语句执行程序:IDL界面翻译为‘’ 3.逐过程执行程序:IDL翻译成‘跳出

在这里插入图片描述
在这里插入图片描述

5.帮助用法(help)

1.在命令行直接输入 ?函数名,会跳转到函数的介绍页面,可查看函数的调用格式以及关键字的使用 2. 鼠标左键选中待查询函数名,点击界面上方 帮助----选中项目帮助

6.变量值

1.在程序运行后,在变量名是哪个悬停,可查看变量值 2.在IDL界面左侧,变量查看器查看,也可在 窗口----变量查看器,进行查看

7.IDL 自带demo

在命令行直接输入demo,回车即可,双击pro文件即可查看运行情况。选中pro文件后,下方可见demo的源码文件

8.换行符

1) $ 示例:

代码语言:javascript
复制
IDL> print,$
> 'lizijia'
lizijia
IDL> 
IDL> 'li'+string(13B)+'zi'
li
zi

3)字符串数组

代码语言:javascript
复制
IDL> a=strarr(2)
IDL> a[0]='li'
IDL> a[1]='hua'
IDL> a
li
hua
IDL> dialog_message(a)

9.大小写

IDL语言是不区分大小写的,但是在作为字符串时,是区分大小写的。

10.编译成可执行程序(.sav或者.exe)

1.编译成 .sav文件 步骤: 1)重置 2)编译

3)命令行输入:

代码语言:javascript
复制
save,filename='D:\lizijia.sav',/routines

注意:默认软件默认resolve_all 是勾选的,具体可见,工程名,右键,属性----工程构建属性----resolve_all(会把IDL自带的一些程序也编译进去,使用方便)

2.编译成 .exe文件 步骤: 1)重置(也可不重置) 2)编译 3)命令行输入:

代码语言:javascript
复制
make_rt,'test','D:\idl_test'

test为输出exe的名字,'D:\idl_test’为输出路径 注意: a.在得到的exe文件夹里面,可把自己电脑IDL的license文件拷贝进去,这样就不会出现虚拟机的界面, b.在文件.ini 的文件里,吧dialog 字符下面的show=TRUE,改成show=FALSE,就不会出现最前面的click to continue 的界面

11 局部变量和全局变量

idl 中有已经设定好的系统变量,为全局变量,而自己写的变量一般都是局部变量。

在这里插入图片描述
在这里插入图片描述

那怎么自定义全局变量呢? 1.在命令行中定义系统变量,回车执行后,会在系统变量里找到自己定义的系统变量,(但是并非所有的程序都要用到该变量,所以如果系统变量定义过多,会增加系统内存,不推荐使用)

代码语言:javascript
复制
IDL> defsysv,'!li',10
IDL> 

 
 12
在这里插入图片描述
在这里插入图片描述

2. 定义公共区common

12 pro和function的使用

13. file_nasename()和file_dirname

已知文件绝对路径为: D:\cbs\georeferenced_img\DS1110-1118DF025_rec_geocoding_1s_match.tif

代码语言:javascript
复制
IDL> file_basename('D:\cbs\georeferenced_img\DS1110-1118DF025_rec_geocoding_1s_match.tif')
DS1110-1118DF025_rec_geocoding_1s_match.tif
IDL> file_dirname('D:\cbs\georeferenced_img\DS1110-1118DF025_rec_geocoding_1s_match.tif')
D:\cbs\georeferenced_img
ENVI> 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-10-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • IDL介绍——什么是IDL?
  • 背景
  • IDL介绍——IDL的功能组成
  • IDL特点
  • IDL入门
  • 1.pro文件
  • 2.中文乱码情况
  • 3.添加作者信息(文件、程序注释)
  • 4.调试(打断点/逐语句/逐过程)
  • 5.帮助用法(help)
  • 6.变量值
  • 7.IDL 自带demo
  • 8.换行符
  • 9.大小写
  • 10.编译成可执行程序(.sav或者.exe)
  • 11 局部变量和全局变量
  • 12 pro和function的使用
  • 13. file_nasename()和file_dirname
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档