第1章 IDL简介
1. 1 关于本书
1. 1. 1 支持材料
1. 1. 2 印刷上的约定
1. 1. 3 特殊字符
1. 2 关于IDL
1. 2. 1 IDL巡视
1. 2. 2 获取 IDL
1. 3 运行IDL
1. 4 在线帮助
1. 5 各章节主要内容
第2章 IDL语法基础
2. 1 交互式和编译模式
2. 1. 1 交互式模式
2. 1. 2 编译模式
2. 2 变量
2. 2. 1 数据类型
2. 2. 2 跟踪变量类型
2. 2. 3 数据类型的转换
2. 2. 4 浮点向整型的转换
2. 2. 5 字符串和数字类型之间的转换
2. 2. 6 变量名称
2. 3 数组简介
2. 3. 1 创建数组
2. 3. 2 数组的存储格式
2. 3. 3 创建数组的函数
2. 3. 4 浮点网格数组
2. 4 数组的下标
2. 4. 1 数组下标的示例
2. 4. 2 多维数组下标的示例
2. 4. 3 一维下标
2. 4. 4 下标的抽取
2. 4. 5 多维下标的抽取
2. 5 表达式和运算法则
2. 5. 1 表达式书写规则
2. 5. 2 被整数除时需要谨慎
2. 5. 3 运算符
2. 5. 4 运算的优先级
2. 5. 5 数组的运算操作
2. 5. 6 运算符的优先级和数组操作的效率
2. 5. 7 取小. 取大操作和模操作
2. 5. 8 数组与数组的乘法运算
2. 6 关系运算和布尔运算
2. 6. 1 关系运算符
2. 6. 2 关系运算和布尔运算的联合
2. 6. 3 三重运算符
2. 6. 4 位操作
2. 7 结构体
2. 7. 1 匿名结构体
2. 7. 2 结构体数组
2. 7. 3 署名结构体
2. 7. 4 结构体的工作
2. 8 指针
2. 8. 1 指针的类型
2. 8. 2 创建指针
2. 8. 3 释放指针内存
2. 8. 4 验证指针的有效性
2. 8. 5 指针的提领
2. 8. 6 避免指针出现问题
2. 9 数组的性质
2. 9. 1 数组元素的数目
2. 9. 2 数组的大小和类型
2. 9. 3 最小值和最大值
2. 9. 4 平均值. 方差和标准偏差
2. 9. 5 总和
2. 10 数组中元素的定位
2. 10. 1 查找符合选择条件的值
2. 10. 2 使用where函数时使用一维下标
2. 10. 3 查找不满足选择条件的值
2. 11 数组的重排列
2. 11. 1 改变数组的维度
2. 11. 2 转换数组中的元素的顺序
2. 11. 3 旋转数组
2. 11. 4 转置数组
2. 11. 5 平移数组
2. 11. 6 数组排序
2. 11. 7 查找惟一的数组值
2. 12 数组大小的调整
2. 12. 1 通过一个整数因子调整大小
2. 12. 2 调整数组到任意大小
2. 12. 3 使用定制的内插法任意缩放数组
2. 12. 4 删除列或行
第3章 编写IDL程序
3. 1 定义和编译程序
3. 1. 1 过程
3. 1. 2 函数
3. 1. 3 命名和编译源文件
3. 1. 4 手动编译
3. 1. 5 自动编译
3. 1. 6 遇到错误后返回主层次
3. 2 控制语句
3. 2. 1 if语句
3. 2. 2 case语句
3. 2. 3 for语句
3. 2. 4 while语句
3. 2. 5 repeat语句
3. 2. 6 return语句
3. 2. 7 goto语句
3. 2. 8 switch语句
3. 2. 9 break语句
3. 2. 10 continue语句
3. 3 参数和关键字
3. 3. 1 参数
3. 3. 2 关键字
3. 3. 3 使用参数和关键字
3. 3. 4 自变量传递机制
3. 3. 5 特殊关键字
3. 3. 6 特殊关键字的传递机制
3. 4 检测参数和关键字
3. 4. 1 检测输入参数和关键字
3. 4. 2 不用更改输入参数
3. 4. 3 检测布尔关键字
3. 4. 4 检测输出参数和关键字
3. 5 脚本. 包含文件和日志
3. 5. 1 脚本
3. 5. 2 包含文件
3. 5. 3 日志
3. 6 全局变量
3. 6. 1 只读系统变量
3. 6. 2 可写系统变量
3. 6. 3 用户定义系统变量
3. 6. 4 common模块
3. 7 处理错误
3. 7. 1 截取错误
3. 7. 2 数学错误
3. 7. 3 重设IDL时段
3. 8 有效地编程
3. 8. 1 节约内存
3. 8. 2 使用高效的方法
第4章 输入和输出
4. 1 标准输入输出
4. 1. 1 写入标准输出
4. 1. 2 从标准输入中读取
4. 1. 3 自由格式的输入
4. 1. 4 从字符串中读取
4. 1. 5 写入一个字符串
4. 1. 6 合法和非法的read自变量
4. 2 文件操作
4. 2. 1 打开文件
4. 2. 2 选择一个文件
4. 2. 3 获取文件的信息
4. 2. 4 关闭文件
4. 3 读写有格式(ASCll)文件
4. 3. 1 读取有格式文件
4. 3. 2 写入一个有格式文件
4. 4 读写无格式(工进制)文件
4. 4. 1 读取无格式文件(单一数据类型)
4. 4. 2 读取无格式文件(混合数据类型)
4. 4. 3 读取Fortran77无格式文件
4. 4. 4 重定位文件指针
4. 4. 5 字节交换(或大端机对小端机)
4. 4. 6 将二进制数据写入无格式文件
4. 4. 7 用程序读写可移植二进制数据
4. 4. 8 通过关联变量读取二进制数据
4. 4. 9 存储和恢复IDL变量
4. 5 科学的和专业的数据格式
4. 6 读写netCDF文件
4. 6. 1 从netCDF文件中读取一个变量
4. 6. 2 从netCDF文件中读取一个属性
4. 6. 3 解开netCDF文件中的内容
4. 6. 4 写入netCDF文件
4. 6. 5 标准属性
4. 6. 6 坐标变量
4. 7 读写HDF文件
4. 7. 1 从HDF文件中读取一个变量
4. 7. 2 使用程序包读取一个变量
4. 7. 3 从HDF文件中读取一个属性
4. 7. 4 解开HDF文件中的内容
4. 7. 5 写入 HDF文件
4. 7. 6 坐标变量
第5章 直接图形系统
5. 1 图形设备
5. 1. 1 选择一个图形设备
5. 1. 2 设置图形设备
5. 2 显示模式
5. 2. 1 8位显示模式
5. 2. 2 24位显示模式
5. 2. 3 显示模式比较
5. 2. 4 获取显示模式的信息
5. 2. 5 选择一种显示模式:Windows和MacOS平台
5. 2. 6 选择显示模式:UNIX平台
5. 2. 7 通过启动文件选择显示模式
5. 3 图形窗口
5. 3. 1 创建一个窗口
5. 3. 2 对己存在窗口的操作
5. 3. 3 不可见图形窗口(像素映射)和动画
5. 3. 4 创建图形窗口的滚动条
5. 4 处理颜色
5. 4. 1 使用索引颜色模式和RGB颜色模式
5. 4. 2 颜色表操作
5. 4. 3 在24位显示设备上装载颜色表
5. 4. 4 获得颜色表的拷贝
5. 4. 5 修改和创建颜色表
5. 4. 6 保存自己的颜色表
第6章 数据的图形显示
6. 1 画图概述
6. 1. 1 线画图
6. 1. 2 重叠画
6. 1. 3 散点图
6. 1. 4 极线图
6. 1. 5 图形坐标
6. 1. 6 坐标转换
6. 1. 7 在普通坐标和设备坐标中画图
6. 1. 8 系统变量
6. 2 图形定位
6. 2. 1 指定一个画图位置
6. 2. 2 计算图形位置
6. 2. 3 定位多个图形
6. 3 定制线画图
6. 3. 1 一般线画图的性质
6. 3. 2 一般的轴性质
6. 3. 3 设置轴范围和类型
6. 3. 4 创建轴
6. 3. 5 对数轴
6. 3. 6 刻度和标注
6. 4 画颜色
6. 4. 1 索引颜色
6. 4. 2 分解颜色
6. 5 标题. 标注和符号
6. 5. 1 标题
6. 5. 2 标注
6. 5. 3 数学符号
6. 6 误差棒. 直方图和条形图
6. 6. 1 误差棒图形
6. 6. 2 直方图
6. 6. 3 条形图
6. 7 等值线图
6. 7. 1 等值线图概论
6. 7. 2 画不规则空间的数据等值线图
6. 7. 3 填充等值线图
6. 8 网格曲面图和阴影曲面图
6. 8. 1 网格曲面图
6. 8. 2 不规则间距数据集
6. 8. 3 阴影曲面图
6. 8. 4 网格和阴影图相结合
6. 9 地图
6. 9. 1 创建一个地图投影
6. 9. 2 设置地图投影
6. 9. 3 选择地图范围
6. 9. 4 大陆轮廓线
6. 9. 5 地图的网格线
6. 9. 6 地图投影上的等值线图
6. 9. 7 在地图投影中显示规则网格图像
第7章 图像显示
7. 1 图像基础
7. 1. 1 假彩色图像
7. 1. 2 真彩色图像
7. 2 图像显示的程序
7. 2. 1 显示不调整的图像:tv
7. 2. 2 显示调整的图像:tvscl
7. 2. 3 从下往上显示和从上往下显示
7. 2. 4 tv和tvscl的关键字
7. 3 定制图像调整
7. 3. 1 通过bytscl调整图像
7. 3. 2 颜色表的分割
7. 3. 3 使用不同颜色表显示多个图像
7. 3. 4 直方图的剪切
7. 3. 5 直方图均衡化
7. 4 调整图像大小与图形设备匹配
7. 5 显示真彩图像
7. 5. 1 在24位模式下显示真彩图像
7. 5. 2 在8位模式下显示真彩图像
7. 6 在PostScript和PRINTER设备上显示图像
7. 6. l 在设备PostScript上显示假彩色图像
7. 6. 2 在PRINTER设备中显示假彩色图像
7. 6. 3 在PostScript设备中显示真彩色图像
7. 6. 4 在PRINTER设备中显示真彩色图像
7. 7 图像显示的应用例子
第8章 创建图形输出
8. 1 位图和矢量输出
8. 2 创建位图输出文件
8. 2. 1 从显示中读取:tvrd
8. 2. 2 从8位显示中读取
8. 2. 3 从24位显示中读取
8. 2. 4 一个tvrd函数包
8. 2. 5 选择一个位图输出格式
8. 2. 6 将一个8位图像存入位图输出文件
8. 2. 7 将一个24位图像保存为位图输出文件
8. 2. 8 将显示内容存储到位图输出文件的一个程序
8. 3 创建PostScript输出
8. 3. 1 PostScript设备介绍
8. 3. 2 设置PostScript设备
8. 3. 3 手动设置大小和位置
8. 3. 4 自动设置大小和位置
8. 3. 5 彩色PostScript输出
8. 3. 6 在PostScript模式下使用颜色表
8. 3. 7 转换背景和画图颜色
8. 3. 8 设置字体
8. 3. 9 PostScript设备字体
8. 3. 10 TrueType字体
8. 3. 11 在可画区域中定位图形
8. 3. 12 添加一个EPS预览
8. 4 创建打印机输出
8. 4. 1 选择一台打印机
8. 4. 2 设置Printer设备
8. 4. 3 手动设置大小和位置
8. 4. 4 自动设置大小和位置
第9章 图形用户界面
9. 1 介绍GUI编程
9. 1. 1 GUI成分(组件)
9. 1. 2 GUI编程和程序编程
9. 1. 3 GUI设计
9. 2 创建组件
9. 2. 1 组件的属性
9. 2. 2 widget_base函数
9. 2. 3 widget_button函数
9. 2. 4 widget_draw函数
9. 2. 5 widget_droplist函数
9. 2. 6 widget_label函数
9. 2. 7 widget_list函数
9. 2. 8 widget_slider函数
9. 2. 9 widget_table函数
9. 2. 10 widget_text函数
9. 2. 11 组件布局
9. 2. 12 命名按钮
9. 2. 13 混合组件
9. 3 处理已经存在的组件
9. 3. 1 设置组件性质:widget_control
9. 3. 2 获取组件信息:widget_info
9. 4 事件和事件处理
9. 4. 1 事件结构体
9. 4. 2 事件的管理
9. 4. 3 事件处理器和应用程序状态信息
9. 4. 4 一个程序的多种情况
9. 5 一个GUI应用程序
9. 5. 1 体会设计含义
9. 5. 2 启动过程
9. 5. 3 事件处理器的过程
9. 5. 4 服务过程
9. 5. 5 编译和运行imgui