使用IDL进行科学数据可视化
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
39
九、应用程序的发布
多个pro文件的发布 工程管理器进行文件的管理 使用工程进行编译和发布 可以选择发布的类型
40
九、应用程序的发布
IDL SAVE文件 与平台无关的二进制文件 可以包含程序和数据以及内存中的内容 如果save文件是应用程序,可以使用在其它系 统上运行 如果save文件保存的是数据,可以使用restore 将其恢复到内存中 可以用于不同平台直接进行数据交换
9
二、数据的读取
文件单元号的控制 刷新文件单元:Flush 定位:Point_lun 文件是否结束:EOF(lun)
10
二、数据的读取
读/写自由格式文件 ASCII_template() read_ascii() ReadF ReadS PrintF
11
二、数据的读取
3
直接图形系统
速度快 编程简单 交互性较差
Leabharlann Baidu
与具体硬件设备相关,可移植性差
适合初学者编写简单的应用程序
4
iTools
无需编写程序 具有6类不同的可视化工具 能够进行高级的交互和可视化
定制化差
不一定能够解决所有的可视化问题 适合不想编程,而又需要对数据进行可视化的
7
二、数据的读取
逻辑设备号(LUN) 在IDL中所有文件输出和输入都是在一个逻辑设备号上 完成的。一个Open命令的作用是将一个特定的文件 (通过其文件名来指定)和一个逻辑设备号相关联。 逻辑设备号可被分为三类。
逻辑设备号 0,-1,-2 1-99 用途 标准输入、标准输出、标准错误窗口 这些号可以在Open命令中用户直接使用
打印机
设备类型 显示器显示 显示器显示 显示器显示 内存 文件
打印机
20
四、直接图形绘图
颜色模式 索引颜色(8位)
最多支持256色 相对应于一个颜色表 所有的IDL设备都支持 每个像素的颜色由红、绿、蓝各自的强度混合而 成 支持16777216色 不需颜色表
真彩色(24位)
24
五、在可视化中使用字体
IDL中字体的种类 Hershey(Vector)字体: IDL提供的,与设备无关的字体,线型字体,无 填充,中等质量 TrueType字体 常用的字体形式,绝大多数与设备无关,填充方 式显示,高质量 设备(hardware)字体: 与设备相关,不同的平台字体形式不一致,包括 PostScript字体,字体质量取决于设备
15
二、数据的读取
关联变量的优点 当该变量被用于表达式时,才产生文件的输入 和输出动作。不需要单独的读或写命令。 数据集的大小不受内存容量的限制,因为有时 它可处理大型的数据集。对于物理存储器来说 是太大的数据,通过把此数据分成块就能很容 易地处理 不必提前声明用于映射该数据的数组或结构的 数量 关联变量是效率最高的I/O形式
13
二、数据的读取
读/写二进制数据文件 Readu Writeu 指针位置的定位:Point_lun Read_binary() 读写具有文件头的二进制文件
14
二、数据的读取
使用关联变量读取二进制文件 IDL关联变量是把一个IDL数组或结构变量的组 织结构映射到数据文件的内容上。 文件被看作是这些重复单元的一个数组。 第一 个单元的索引号是0,第二个单元的索引号1等 等。 关联变量不象常规变量那样将整个数据组都存 储在内存里。而是当一关联变量被引用时,IDL 仅对需要的部分数据执行相关的输入或输出请 求,这部分数据就是要读入内存的。
读取自由格式文件的规则 如果读入到字符串变量中,那么,在当前行剩下的所有 字符都将读入该变量中。 输入数据必须用逗号或空白分隔(空格键或tab键) 输入通过数字变量完成。数组和结构都可作为数字变量 的集合
12
二、数据的读取
读取自由文件的规则 如果当前读入行是空的,并且还有变量要求输 入,则读取另一行 如果当前读入行不是空的,但是没有变量要求 输入,则忽略此行剩下的数 尽量将数据转换为变量所希望的数据类型 复数数据必须有实数和虚数两部分,用逗号分 隔,并用括号括起来
Lambert’s Azimuthal Equal Area Mercator Miller Cylindrical Mollweide
Robinson PseudoCylindrical
Satellite Sinusoidal Stereographic Transverse Mercator
35
绘制动画 PIXMAP XINTERANIMATE
33
七、iTools可视化
iTools介绍 自从IDL6.0开始提供,包含一系列的内建的可 视化工具 具有所见即所得的编辑分析环境,以及内建的 大量可视化工具 IDL6.2具有6类iTOOLS:iPlot、iImage、iMap、 iContour、iVolume、iSurface
设备坐标系统
显示设备的实际坐标系统。设备坐标是整数,范 围从显示设备的左下角(0,0),到右上角(Vx -1,Vy -1)。Vx和Vy是显示设备的列和行的分辨 率。
23
四、直接图形绘图
IDL坐标系统 归一化坐标系统
当前图形窗口或设备的左下角坐标为(0.0, 0.0),右上角的坐标为(1.0,1.0)。 归一化坐标非常有用,用户使用归一化坐标可以 指定不依赖于当前图形窗口或设备大小和形状的 位置。
30
五、在可视化中使用字体
改变字体的大小 Hershey和TrueType字体使用 DEVICE SET_CHARACTER_SIZE 关键字 SET_CHARACTER_SIZE接受两个元素的矢量,第 一元素表示字符的平均宽度,第二个元素表示 两行字符直接的距离,单位均为像素 使用绘图程序的CHARSIZE关键字
41
九、应用程序的发布
IDL Virtual Machine 可以从RSI的网站上免费获得 能够发布绝大多数IDL应用程序 具有以下限制:
100-128
这些号通过Get_Lun和Free_Lun命令获取和管 理
8
二、数据的读取
文件打开的方式 OPENR 打开文件进行读 OPENW 打开文件进行写 OPENU 打开文件进行更新(读/写) OpenR,lun,filename,/get_lun 文件的关闭 Close,lun Free_lun,lun
36
八、使用地图投影
使用IDL提供的地图数据 IDL提供了高精度和低精度的全球矢量数据,这两套数 据都可以通过Map_continents程序访问 Map_continents的关键字 COASTS COLOR COUNTRIES FILL_CONTINENTS HIRES RIVERS USA
34
八、使用地图投影
IDL支持的地图投影方式
Aitoff Hammer-Aitoff Orthographic
Albers Equal Area
Azimuthal Equidistant Cylindrical Equidistant Gnomonic Goode’s Homolosine
Lambert’s Conformal Conic
25
五、在可视化中使用字体
在直接图形系统中使用字体 !P.FONT系统变量
26
五、在可视化中使用字体
使用Hershey Vector字体 将!P.FONT系统变量设置为-1 或是在绘图程序中将FONT关键字设为-1
27
五、在可视化中使用字体
使用True Type字体 将!P.FONT系统变量设置为1 或是在绘图程序中将FONT关键字设为1 使用 DEVICE,SET_FONT=‘楷体’,/tt_font,选 择合适的TrueType字体
16
二、数据的读取
特定格式的文件读取 Read_bmp、read_GIF、read_JPEG、Read_PICT、 Read_PNG、Read_TIFF、Read_Wave、DICOM HDF、netCDF、CDF
17
三、避免循环,提高效率
避免循环 使用Where函数 > 和 < 运算符 # 和##运算符
八、使用地图投影
MAP_SET程序 设定指定的投影:map_set,/orthographic 设定投影的中心: map_set,lat,lon,/orthographic,/grid,/continents 设置投影区域: map_set,lat,lon,/orthographic,/grid,/continents, limit=[20,-160,80,-40]
21
四、直接图形绘图
颜色表 IDL内置了41中颜色表 使用XLOADCT、LOADCT加载颜色表 使用TVLCT、XPALETTE进行颜色表的修改 自定义颜色表
22
四、直接图形绘图
IDL坐标系统 数据坐标系统
是指与数据范围相对应的窗口坐标系统。该系统 可以是二维的或者三维的,也可以是线型的、对 数的、或者半对数的。该坐标系统是系统默认的 坐标系统。
31
六、直接图形绘图实例
常用直接图形命令 绘线:PLOT,OPLOT,PLOTS 绘坐标轴:AXIS 绘制文本:XYOUTS 绘制等值线:COUNTOUR 绘制网格面:SURFACE 绘制阴影表面:SHADE_SURF 显示影像:TV,TVSCL
32
六、直接图形绘图实例
18
三、避免循环,提高效率
提高效率 以内存顺序访问数组 减少内存的使用 减少数组运算
19
四、直接图形绘图
直接图形绘图支持的图形设备 图形设备的切换set_plot
设备名称 WIN MAC X Z PS
PRINTER
描述 Windows MAC OS X Window Z-Buffer PostScript
37
八、使用地图投影
在指定投影上显示数据 使用Wrap_image程序将数据集和指定的投影结合 使用Wrap_patch程序将数据集与指定的投影结合
38
九、应用程序的发布
单个文件的发布 编译该文件:.COMPILE 提取依赖函数:RESOLVE_ALL 生成save文件: save,’routineName’,filename=‘routineName.s av’,/routines
28
五、在可视化中使用字体
使用自定义的True Type字体 将字体文件拷贝到IDL安装目录下的 bin/resource/tt/目录中 编辑True Type字体的资源文件ttfont.map文件
29
五、在可视化中使用字体
IDL查找TrueType字体的方式 首先查找ttfont.map文件和 bin/resource/font/tt目录 Unix平台下不在查找,使用Helvetica Windows平台查找系统目录的FONT目录 使用 device,get_fontnames=fontNames,set_font=‘ *’
用户
5
对象图形系统
基于面向对象的编程方法 交互式强 能够编写功能强大的应用系统
与硬件设备无关
编程较复杂 适合编写大型或工程化的应用程序
6
二、数据的读取
文件的确定 通过对话框选择文件dialog_pickfile() 通过搜索的方式进行选择: File_search() 测试文件是否存在:File_test() 打开图像文件:dialog_read_image() 写图像文件:dialog_write_image()
使用IDL进行科学 数据可视化
王志成 航天星图科技(北京)有限公司
主要内容
IDL可视化方式的介绍 数据的读取 直接图形绘图
使用字体
直接图形绘图实例 使用iTools进行可视化
使用地图投影
应用程序的发布
2
一、IDL可视化方式介绍
直接图形系统 iTools智能工具 对象图形系统