IDL

来源:互联网 发布:全民tv淘宝权直播间 编辑:程序博客网 时间:2024/06/02 13:09

http://baike.baidu.com/view/160644.htm

交互式数据语言  

  

  

全称:Interactive Data Language

  IDL是一种数据分析和图像化应用程序及编程语言,先由美国ITT公司所有。最初在七十年代后期用于帮助科学家分析火星探险卫星发回的数据,将浩瀚的数据转换为图形。从此后,IDL得到广泛运用,使用者日众,呈几何级别增长。

  IDL使用者可以迅速且方便地运用此软件将数据转换为图象,促进分析和理解。通过软件转化的图像既可以是简单色彩,也可以是全色三维图像和模型。

一、IDL开发环境

  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还被广泛应用于地球科学、医学影像、图像处理、软件开发、大学教学、实验室研究、测试技术、天文、信号处理、防御工程、数学分析、统计等诸多领域。

六、广泛的支持平台

  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

编辑本段接口描述语言

  全称:Interface Description Language

  使用Java(TM)编写的API提供基于标准的和CORBA的交互性和连接性。

  用于描述接口,类似于PRC的.x文件。接口定义语言类似一个协议,来规定接入对象的行为。

  用RPC / COM / CORBA技术来编写分布式系统时都需要接口定义语言(IDL)。

  特点:

  1、IDL是一种规范语言。

  2、IDL看上去很像C语言。

  3、OMG IDL的目的是定义接口和精简分布对象的过程。

  4、IDL分离对象的接口与其实现。

  5、IDL剥离了编程语言和硬件的依赖性。

  6、使用IDL定义接口的客户机程序员不知道接口背后的实现细节。

  7、IDL提供一套通用的数据类型,并以这些数据类型来定义更为复杂的数据类型。

  有关的英文说明:

  ·Used to describe "interfaces"

  similar to RPC .x file

  Like a contract

  Defines protocol to access objects

  ·Builds on OOP principle of encapsulation

  Clear boundary between implementation and interface

  ·Well-specified, Language-independent

  interface specifies names and methods that clients can use (invoke)

  same lexical rules as C++ syntax

  IDL modules

  – logical grouping of interface and type definitions

  – defines naming scope

  IDL interface

  – methods that are available in CORBA objects implementing the interface

  – inheritance using ’:’ for example interface Z inherits interfaces A and B interface Z:A,B{ };

  IDL methods

  – specify signatures

  – parameters are labeled as in, out and inout

  – one way indicates that client will not be blocked when invoking this method

  these methods use maybe invocation semantics

  – raises: user-defined exceptions

原创粉丝点击