IDL(交互式数据语言Interactive Data Language)是一种数据分析和图像化应用程序及编程语言,先由美国ITT公司所有,后由美国ExelisVis公司所有。最初在七十年代后期用于帮助科学家分析火星探险卫星发回的数据,将浩瀚的数据转换为图形。从此后,IDL得到广泛运用,使用者日众,呈几何级别增长。IDL使用者可以迅速且方便地运用此软件将数据转换为图像,促进分析和理解。通过软件转化的图像既可以是简单色彩,也可以是全色三维图像和模型。IDL(Interactive Data Language)语言是第四代科学计算可视化语言,集开放性、高维分析能力、科学计算能力、实用性和可视化分析为一体,它可以在多种硬件平台上运行,可以方便地与C、C++连接,还支持数据库的ODBC接口标准。IDL语言内置的数学库函数可以大大地减少图象处理算法开发的工作量,用IDL语言写的程序可以不加修改地在其他可以运行IDL的平台上运行,这样开发出来的系统自然地具有可移植性。由于IDL语言是解释性语言,其运行速度受到影响,对于速度要求较高的功能可以直接用标准C语言编写,利用IDL与C的接口在IDL语言中调用C模块实现高速度。IDL 语言的许多函数可以支持不同的数据类型, 例如ROT 旋转函数可以旋转字节型、整型及浮点型的矩阵数据。
开发环境
IDLDE是用户快速编写、测试并调试代码的最佳环境,用户可以在该环境中方便地进行应用开发。IDLDE具有完善的代码编译、调试环境。IDLGUIBuilder 可以迅速开发跨平台的用户图形界面(GUI),而无需熟悉IDL控件编程知识。用户可以拖放式建立图形用户界面GUI,非常灵活、快速地产生应用程序的界面。IDL GUIBuilder已被集成到Idl开发环境中(IDLDE)。用户还可方便地输出project,生成可执行文件。
主要特点
灵活的数据输入和输出
IDL是完全面向矩阵的,因此它具有快速分析超大规模数据的能力。IDL可以通过灵活方便的I/O分析任何数据。可以读取和输出任意有格式或者无格式的数据类型,支持通用文本及图形数据,并且支持在NASA、TPT、NOAA等机构中大量使用的HDF、CDF及netCDF等科学数据格式,以及医学扫描设备的DICOM标准格式。IDL还支持字符、字节、16位整型、长整型、浮点、双精度、复数等多种数据类型。从IDL5.5起还可以支持MrSID压缩数据格式。
快速实现可视化
IDL支持OpenGL软件或硬件加速,可加速交互式的2D及3D数据分析、图像处理及可视化,除了保留传统的直接图形法外,IDL还采用了先进的面向对象技术;可以实现曲面的旋转和飞行; 用多光源进行阴影或照明处理;可观察实体(Volume)内部复杂的细节;一旦创建对象后,可从各个不同的视角对对象进行可视分析,而不用费时地反复重画。
IDL具有强大的数据分析能力,从IDL5.5起支持多进程运算,IDL带有完善的数学分析和统计软件包,提供强大的科学计算模型,支持IMSL函数库。它的图像处理软件包提供了大量方便的分析工具、地图投影变换软件包,使您开发GIS易如反掌。
IDL提供了可缩放的TrueType字体,可以注记中文;能将结果存为标准图像格式或PostScript格式,并尽可能地使图像质量最优化。
例如:2-D绘图等直线分析
外部语言接口
IDL支持COM/ActiveX组件,可将您的IDL应用开发集成到与COM兼容的环境中。
从Visual Basic、Visual C++等访问IDL,还可以通过动态连接库和COM组件方式在IDL程序里调用C 、Fortran等程序。
用IDL DataMiner可快速访问、查询并管理与ODBC兼容的数据库,支持Oracle, Informix, Sybase, MS SQL 等数据库。可以创建、删除、查询表格,执行任意的SQL命令,读取、设置、查询、增加、删除记录等操作。
例如:图像和信号处理;3D、4D曲线和曲面分析;三维体数据分析
IDL的小波变换工具包,主要用于信号处理和图像处理、去除噪声、图像压缩、特征提取、提取图像细节、其信息量损失比FFT小得多。
应用领域
IDL为用户提供了可视数据分析的解决方案,早在1982年NASA火星飞越航空器的开发就使用了IDL软件。IDL使科学家无须写传统程序就可直接研究数据。IDL还被广泛应用于地球科学、医学影像、图像处理、软件开发、大学教学、实验室研究、测试技术、天文、信号处理、防御工程、数学分析、统计等诸多领域。目前,图像处理常用的ENVI就是用IDL开发的经典软件。
支持平台
Microsoft Windows 95/98/2000
Microsoft Windows NT(x86/Alpha)
Open VMS
SunOS
Solaris
Solaris X86
AIX
Digital UNIX
HP-UX
IRIX
Linux(Intel x86)
MacOS
近期评论