第1章 Igor Pro基本介绍 1
1.1 Igor概述 2
1.1.1 特色定位 2
1.1.2 安装和使用 4
1.1.3 基本界面 4
1.1.4 菜单 5
1.1.5 数据浏览器 8
1.1.6 数据表格 10
1.1.7 命令行窗口 11
1.2 Igor中的基本对象 14
1.2.1 wave 14
1.2.2 图(Graph) 22
1.2.3 表格(Table) 23
1.2.4 页面布局(Page Layout) 23
1.2.5 变量(Variable) 23
1.2.6 数据文件夹(Data Folder) 24
1.2.7 记事本(Notebook) 24
1.2.8 程序面板(Control Panel) 25
1.2.9 三维图(3D Plot) 25
1.2.10 程序(Procedure) 25
1.2.11 命令和函数 25
第2章 图表绘制 27
2.1 曲线 27
2.1.1 绘制曲线 27
2.1.2 添加新曲线 31
2.2 图表的设置和美化 32
2.2.1 设置绘图区域 32
2.2.2 设置外观 34
2.2.3 设置坐标轴 46
2.2.4 设置图注 57
2.2.5 向曲线添加自定义形状 63
2.2.6 样式脚本 64
2.3 类别图 65
2.3.1 类别图的绘制和设置 65
2.3.2 类别图的设置 66
2.4 二维wave绘制 67
2.4.1 Image的绘制 67
2.4.2 Image的设置 69
2.4.3 Contour的绘制 73
2.4.4 Contour的设置 76
2.4.5 Waterfall的绘制 78
2.4.6 Waterfall的设置 79
2.4.7 Surface的绘制 80
2.4.8 Surface的设置 81
2.5 三维wave的绘制 82
2.5.1 三维图形绘制的概念 82
2.5.2 三维图形的绘制 84
2.6 输出图片 93
第3章 数据拟合 94
3.1 拟合概述 94
3.1.1 拟合的基本原理和步骤 94
3.1.2 基本拟合 95
3.1.3 快速拟合及结果查看 98
3.1.4 自定义拟合 102
3.1.5 数据拟合对话框详解 104
3.2 拟合公式模型 112
3.2.1 内置拟合公式 113
3.2.2 普通自定义拟合函数 115
3.2.3 保存自定义拟合函数 119
3.2.4 自定义拟合函数的格式 120
3.3 拟合命令详解 122
3.3.1 拟合命令参数详解 122
3.3.2 常用拟合命令选项 132
3.3.3 限定拟合参数范围 133
3.4 高级拟合技巧 136
3.4.1 隐函数拟合 136
3.4.2 复杂自定义拟合函数 139
3.4.3 all at once拟合 141
3.4.4 使用结构体类型变量参数的拟合函数 144
3.4.5 拟合过程中的特殊变量 148
3.4.6 多峰拟合 149
3.4.7 拟合的几个例子 150
第4章 数据处理 160
4.1 插值 160
4.1.1 基本插值方法 160
4.1.2 插值与均匀数据 167
4.1.3 逆插值 173
4.1.4 曲线平滑 177
4.2 数值计算与统计 183
4.2.1 微分和积分 183
4.2.2 wave统计信息 188
4.2.3 求解数值方程 191
4.2.4 微分方程求解 197
4.2.5 直方图 209
4.2.6 排序 214
4.3 数学变换 217
4.3.1 傅里叶变换 217
4.3.2 傅里叶变换窗 223
4.3.3 希尔伯特变换 228
4.3.4 卷积 230
4.3.5 相关 235
4.4 图像分析 237
4.4.1 Lookup Table方法 238
4.4.2 直方图均衡化 240
4.5 随机数生成 246
第5章 程序设计 249
5.1 程序设计概述 250
5.1.1 程序窗口 250
5.1.2 程序窗口说明 253
5.1.3 编译程序 257
5.1.3 程序代码构成 258
5.1.4 程序类型 260
5.2 基本语法 262
5.2.1 表达式和命名规则 263
5.2.2 变量和常量 263
5.2.3 Structures 265
5.2.4 流程控制语句 268
5.2.5 函数 272
5.2.6 程序子类型 274
5.2.7 参数传递 277
5.2.8 默认参数 279
5.2.9 注释和代码风格 280
5.3 程序设计技术 281
5.3.1 Include指令 281
5.3.2 Pragma参数 283
5.3.3 Independent Module 288
5.3.4 Execute命令 293
5.3.5 条件编译 294
5.3.6 函数引用 296
5.3.7 访问全局对象 298
5.3.8 wave引用 302
5.3.9 $运算符 307
5.3.10 自动创建变量 310
5.3.11 调试程序 312
第6章 窗口程序设计 321
6.1 窗口程序概述 321
6.1.1 创建一个简单的窗口程序 322
6.1.2 窗口程序构成 329
6.1.3 窗口生成脚本 332
6.1.4 控件命令 336
6.2 窗口控件 337
6.2.1 Button按钮 337
6.2.2 CheckBox复选框 346
6.2.3 SetVariable文本框 351
6.2.4 ListBox列表框 355
6.2.5 PopupMenu下拉列表框 364
6.2.6 Slider滑动条控件 372
6.2.7 ValDisplay数值显示控件 375
6.2.8 TabControl控件 379
6.2.9 CustomControl自定义控件 383
6.2.10 TitleBox和GroupBox控件 388
6.2.11 控件操作 389
6.2.12 获取控件信息 391
6.2.13 控件结构体变量类型应用 394
6.3 窗口设计 395
6.3.1 Pictures详解 396
6.3.2 创建Pictures 397
6.3.3 窗口设计 399
6.3.4 Graph和Panel的区别 401
6.4 菜单 403
6.4.1 菜单概述 403
6.4.2 创建动态菜单 406
6.4.3 系统右键快捷菜单中添加菜单项 408
6.4.4 特殊菜单项 408
6.4.5 创建弹出式菜单 411
6.4.6 菜单项中的特殊字符 413
第7章 高级程序设计 416
7.1 程序中的free对象 416
7.1.1 free wave 417
7.1.2 free data folder 419
7.2 多线程技术 420
7.2.1 简单多线程技术 420
7.2.2 free对象与多线程 422
7.2.3 多线程编程 425
7.2.4 后台任务 431
7.2.5 抢占式多任务 433
7.2.6 定时器和多线程 435
7.3 运行时交互 437
7.3.1 简单的输入数据框 437
7.3.2 利用PauseForUser创建输入对话框 439
7.3.3 程序进度条 443
7.4 钩子函数 446
7.4.1 用户自定义钩子函数 447
7.4.2 窗口钩子函数 450
7.4.3 依赖 456
7.5 数据采集 458
7.5.1 FIFO与Charts 459
7.5.2 串口读写 461
7.5.3 XOP扩展 466
7.6 多媒体 468
7.6.1 播放声音 468
7.6.2 视频播放和创建 472
7.7 错误处理 473
7.7.1 程序错误退出 473
7.7.2 try-catch-endtry 474
7.7.3 Igor错误代码和描述 475
7.8 文件读写 477
7.8.1 文件读写函数和命令 477
7.8.2 文件读写示例 482
7.9 初始化技术 484
7.9.1 新建实验文件时初始化 484
7.9.2 打开窗口程序时初始化 485
7.10 其他编程技术 486
7.10.1 计时 486
7.10.2 Cursor编程 487
7.10.3 字符串及正则表达式 490
附录A 本书术语说明 493
附录B Igor常用快捷键 496
附录C Igor Pro 7新特性 498