1(下)IDL语言基础知识.pptx_第1页
1(下)IDL语言基础知识.pptx_第2页
1(下)IDL语言基础知识.pptx_第3页
1(下)IDL语言基础知识.pptx_第4页
1(下)IDL语言基础知识.pptx_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、IDL入门,认识IDL工作台 第一个IDL程序 IDL语言基础,目录,工作空间 创建新的工作空间 创建新的工程项目 参数设置 编码 源码格式 颜色 导入 文件系统 首选项 现有项目,认识IDL编译器,使用工程 建立新工程 工程属性修改 添加文件 编译工程 运行工程,认识IDL编译器,文件操作 打开文件 创建文件 保存文件 编辑文件 编译和运行,认识IDL编译器,查看器 窗口显示视图下进行显示或关闭设置,认识IDL编译器,命令行及命令历史查看,认识IDL编译器,源码格式设置,认识IDL编译器,获得帮助 悬停帮助 选中内容帮助 联机帮助系统,认识IDL编译器,DEMO 启动DEMO 运行DEMO程

2、序 打开源码文件,认识IDL编译器,编写IDL程序 命令行模式 批处理模式 文件中只需命令即可 文件要保存在搜索路径下 编译运行模式 参考工程、文件章节,认识IDL编译器,第一个IDL程序,编写H 熟悉代码编写方法 运行代码 创建工程 程序发布 生成sav 生成exe make_rt,helloWorld,c:tempout,savefile = D:trainninghelloWorldhelloworld.sav,/vm,编写IDL程序,IDL语言基础,变量 数组 字符串 结构体 指针 链表、哈希表 运算符 其他符号,IDL语言基础,变量 局部变量 命名规则 最大

3、长度不超过255个字符,变量的首位只能是字母和下划线,中后部只能是字母、数字、下划线“_”和连接符“$” abc_3$d ok_24_bit IDL_type variable _day_month_year 4_line abc.cha 相关函数 变量名是否有效 格式 IDL_VALIDNAME ( String , /CONVERT_ALL , /CONVERT_SPACES),,IDL语言基础,局部变量 数据类型,IDL语言基础-变量,局部变量 类型转换,IDL语言基础-变量,局部变量 特点 动态性 随时修改变量的数据类型和组织结构。但下面情况不进行类型转换。 注意整型变量的精度 res

4、ult = 8/5 aspect=!D.X_Size / !D.Y_Size,IDL语言基础-变量,系统变量 自定义系统变量 创建 Defsysv,!变量名,值 使用 跟局部变量的使用方法一样,!变量名,IDL语言基础-变量,运行教材示例 P28,变量 数组 字符串 结构体 指针 链表、哈希表 运算符 其他符号,IDL语言基础,数组定义 程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。 IDL支持08维数组 数组的下标是先列后行,IDL语言基础-数组,数组创建 赋值创建,IDL语言基础-数组,IDL arr = 1,2,3 I

5、DL help, arr ARR INT = Array3 IDL arr = 1,2,3B IDL help, arr ARR INT = Array3 IDL arr = 1,2,3D IDL help, arr ARR DOUBLE = Array3,数组创建 函数创建 全零和索引数组 函数,IDL语言基础-数组,等差数列: IDL print, indgen(6)*5+1 1 6 11 16 21 26 等比数列: 生成比值为3,1开头的等比数列: IDL print, 3indgen(6) 1 3 9 27 81 243 生成比值为3,2开头的等比数列: IDL print, 3in

6、dgen(6)*2 2 6 18 54 162 486,IDL语言基础-数组,数组创建 函数创建 全零和索引数组 常规函数 MAKE_ARRAY(),IDL语言基础-数组,数组存储 数组按行存储。 一维数组 二维数组,IDL语言基础-数组,使用数组 下标方式 使用下标来读取数组中的元素。 向量方式 通过向量下标获得数组中的系列元素。 子数组选取 下标的方式,IDL语言基础-数组,数组运算 求大、求小和求余,IDL语言基础-数组,数组运算 数组与数运算,IDL语言基础-数组,数组运算 数组与数组运算 数组与数组的运算 结果的元素个数与 运算的最小数组个 数一致。,IDL语言基础-数组,数组相关函

7、数 数组信息Size(),IDL语言基础-数组,数组相关函数 条件查找Where(),IDL语言基础-数组,数组相关函数 大小调整 Reform-不改变元素个数改变数组维数,IDL语言基础-数组,数组相关函数 大小调整 Rebin 修改为不同维数 算法双线性内插 Sample关键字使用最近邻域法,IDL语言基础-数组,数组相关函数 大小调整 Congrid 修改为同维任意大小 一维或二维-最邻近重采样,或使用INTERP关键字强制使用双线性内插法 三维-双线性内插,IDL语言基础-数组,数组相关函数 数组反转 Reverse() 反转的是数组的维数,IDL语言基础-数组,数组相关函数 数组旋转

8、 Rotate(),IDL语言基础-数组,数组相关函数 数组旋转 Rot() 可以以任意的角度对数组进行旋转操作并能进行放大、缩小操作。,IDL语言基础-数组,数组相关函数 数组排序 Sort() 函数返回排序后的数组索引。,IDL语言基础-数组,数组相关函数 数组元素个数 N_Elements() 函数返回数组元素的个数,IDL语言基础-数组,相关计算函数 最大值 MAX() 最小值 MIN() 和计算 Total() 乘积计算(所有元素相乘) Product(),IDL语言基础-数组,运行教材示例 P41,相关计算函数 阶乘 Factorial() 平均值 Mean() 方差计算 Vari

9、ance() 标准差计算 Stddev() 平均值、方差、倾斜度 Moment(),IDL语言基础-数组,运行教材示例 P43,矩阵运算 矩阵间 AMN # BLM AMN # BLM 矩阵函数,IDL语言基础-数组,运行教材示例 P43,chapter03test_matrix_,变量 数组 字符串 结构体 指针 链表、哈希表 运算符 其他符号,IDL语言基础,字符 创建字符串及字符串数组 直接赋值 string, ”stringdf” 创建字符串数组 StrArr(),IDL语言基础-字符串,字符 特殊字符,IDL语言基础-字符串,字符 字符操作函数 StrTrim St

10、rMid StrPos,IDL语言基础-字符串,运行教材示例 P46,变量 数组 字符串 结构体 指针 链表、哈希表 运算符 其他符号,IDL语言基础,结构体 标量、数组或结构的集合,是符合变量。 创建结构体 命名结构体 匿名结构体 访问结构体 StructName.VarName StructName.(idx),IDL语言基础-结构体,运行教材示例 P47,结构体相关操作函数,IDL语言基础-结构体,结构体继承 IDL str1 = str1name, a:1,b:2 IDL str2 = str2name, inherits str1name, c:3 动态扩展 IDL a = a:1,

11、 b:2 IDL a =create_struct(a,c,3),IDL语言基础-结构体,变量 数组 字符串 结构体 指针 链表、哈希表 运算符 其他符号,IDL语言基础,概述 指针时,其数据存储于一个堆变量中。堆变量在程序运行期间是全局变量,而且只有通过指针名才能访问。 堆变量是可以动态的分配内存的全局变量。 创建和访问与赋值 创建Ptr_New() 访问(*)point 赋值 空指针,IDL语言基础-指针,内存控制 内存分配 pData = Ptr_New(data,/No_Copy) 内存释放 Ptr_Free,point,IDL语言基础-指针,运行教材示例 P50,变量 数组 字符串

12、结构体 指针 链表、哈希表 运算符 其他符号,IDL语言基础,链表创建: Result = LIST( Value1, Value2, . Valuen , /EXTRACT , LENGTH=value , /NO_COPY) 举例: list=LIST(one, 2.0, 3, 4l, PTR_NEW(5), n:6, COMPLEX(7,0) 链表访问: IDL print, list0 One 链表销毁 Obj_destroy, list,IDL语言基础链表,运行教材示例 P53,链表方法: Add 添加成员 Count 成员个数查询 IsEmpty 是否为空 Remove 移除成员

13、Reverse 逆转顺序 ToArray 转换为数组 Where 查询,IDL语言基础链表,哈希表创建: Result = HASH( Key1, Value1, Key2, Value2, . Keyn, Valuen , /EXTRACT , /NO_COPY ) or Result = HASH( Keys, Values , /EXTRACT ) or Result = HASH( Keys ) or Result = HASH( Structure , /EXTRACT ) 举例: hash = HASH(black, 0, gray, 128, grey, 128, white,

14、255) hash = HASH(black,gray,grey,white, 0,128,128,255),IDL语言基础哈希表,运行教材示例 P54,哈希表访问: hash = HASH(black, 0, gray, 128, grey, 128, white, 255) IDL print, hashblack 0 成员增加: IDL hashgreen = 50 或 hash += HASH(green, 50) 哈希表销毁: Obj_destroy, hash,IDL语言基础哈希表,哈希表方法: Count 成员个数 HasKey 是否含有成员 IsEmpty 是否为空 Keys

15、成员名 Remove 移除成员 ToStruct 转换为结构体 Values 成员值 Where 查询,IDL语言基础哈希表,变量 数组 字符串 结构体 指针 链表、哈希表 运算符 其他符号,IDL语言基础,数学运算符 加(+) 增运算(+) 减(-) 减运算(-) 乘(*) 除(/) 幂() 取余(mod) 取小(),IDL语言基础-运算符,运行教材示例 P55,逻辑运算符 与运算(循环进行像素交换 FUNCTION DO_METHOD_01, img ;列循环 FOR i=0,511 DO BEGIN ;图像上一半行循环 FOR j=0,255 DO BEGIN ;保存当前点坐标 tmp = imgi,j ;用中间对称点替换 imgi,j= imgi,511-j ;交换数据 imgi,511-j = temp ENDFOR ENDFOR ;返回翻转结果 RETURN, img END,;利用IDL特点行交换 FUNCTION DO_METHOD_02, img ;图像上一半行循环 FOR j=0,255 DO BEGIN ;保存当前行坐标 tmp = img*,j ;用中间对称点替换 img*,j= img*,511-j ;交换数据 img*,511-j = temp ENDFOR ;返回翻转结果 RETURN, img END,FUNCTION DO_M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论