ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

IDL简介

2022-05-12 10:01:02  阅读:202  来源: 互联网

标签:数据分析 简介 发布 支持 跨平台 IDL 可视化


交互式数据处理开发语言IDL(Interactive Data Language)一直是应用程序开发和科学家进行可视化与分析的开发语言,因为它功能强大,简单易学,很少的几行代码就能实现其他语言很难实现的功能。它使用户的数据处理、科学研究和商业开发真正的做到快捷有效。其用户涵盖NASA、ESA、NOAA、Siemens、GE Medical、Army Corps of Engineers、MacDonald Dettwiler等众多知名研究机构和公司;广泛应用于:海洋科学、气象、遥感工程、医学、空间物理、地球科学、测试技术、信号处理、科研教育、天文学、商业等众多领域。

IDL的背景

IDL最初的原型为美国航空航天局(NASA)的一个可视化项目,由于其灵活和强大的数据分析和可视化性能,受到NASA的科学家和工程师的喜爱,进而发展成为一门独立的可视化语言。IDL的辉煌历程:

1977,IDL商业版本正式发布,NASA成为IDL的第一批用户。

1981,为VAX/VMS平台使用FORTRAN重写了IDL,不久后美国顶级的研究所和主要的大学都使用IDL来进行数据分析和可视化。

1986,IDL被用来处理哈雷彗星的影像。

1987,为UNIX平台使用C重新编写了IDL,扩展了IDL的跨平台应用。

1991,IDL用于修复哈勃望远镜,并用于修复后的数据处理。

1994,使用IDL编写的遥感软件ENVI正式发布。

1995,NASA在太空飞船中使用IDL研究紫外线放射现象,同时IDL也广泛用于地球科学、医学影像、图像处理等领域。

1998,因为帮助NASA科学家做出了重大发现,IDL被誉为NASA最近40年的“里程碑技术”。

2003,IDL6.0发布,在新版本的IDL中,提供了IDL虚拟机。用户可以使用IDL虚拟机进行免费的程序发布。同时提供了全新设计的智能工具iTools,为用户进行数据分析和可视化提供了更加方便的工具。

2004,参与火星探测计划中的测试和传感器设计,JPL的科学家利用IDL对“勇气号”和“机遇号”的数据进行分析和处理。

2005,IDL6.2发布,新增加的影像分块技术使得IDL对于大影像的处理更加得心应手。

2006,IDL6.3发布,新增加的对象导出功能,可将IDL编写的对象导出为Java/COM对象,IDL与其它语言的结合更加紧密。

2007,IDL6.4发布,提供了强大的、崭新的可视化和分析功能,并能使数据分析人员和开发者在多种软件环境下充分发挥IDL的功能。

2008,IDL7.0发布,全中文界面显示、Eclipse的强大支持、具有强大的可扩展和广阔的发展前景。7.0版本创建了全新的快速开发的平台环境,系统开发从此变得更加简单、快捷。

2010,IDL8.0发布,简化了数据分析和可视化的操作流程,编写代码和程序开发得心应手。

2012,IDL8.2发布,增加了BigTIFF的读写支持,多种视频格式文件的输出;改进了曲线渲染效果,优化了多个可视化函数;工作台支持检测源码文件的同名;同时新增ENVI扩展向导。

2013,IDL8.3发布,可以直接打印变量、获取系统剪贴板信息、支持静态方法和属性等。更新了一些函数和对象,如新增IDLUNIT类,改进KRIG2D和GRIDDATA运算效率等。图形可视化方面增加了动态交互等功能。并且简化了IDL和ESE(ENVI Services Engine)的任务构建流程。

2014,IDL8.4发布,新增数据读取与可视化函数,新增数据类型。IDL编程语言更加现代化,提供函数程序设计(Functional Programming)、静态类和方法、文件系统监视等功能支持。IDL工作台同样得到了改进,可以进行更便捷的程序调试,直观查看代码运行状态。IDL 8.4.1中,主要新增了ESE API for IDL,可以方便地在IDL中调用ENVI Services Engine的服务。

2015,IDL8.5发布,主要新增了IDL与Python的无缝桥梁,支持IDL与Python的互相调用;增加了一些全新功能的函数(如颜色选择对话框等),并对已有部分函数进行了改进。新增动态方法调用功能。快速可视化功能改进。

2016,IDL8.6发布,主要新增了面向对象的IDL Tasks,可以封装IDL程序;提供IDL Task Engine,可以将IDL功能嵌入到其他语言开发的程序或环境中。

2018,IDL8.7/IDL8.7.1发布,新增一个异步作业类(Asynchronous Job Classes),允许用户将任务在IDL主进程之外进行异步执行。新增ROUTINE_DIR函数,可以直接获取程序所在文件夹路径。增加GOES-16数据的读取与显示示例代码,WIDGET_DRAW新增滚动条事件,IDLTask版本更新等。新增了机器学习框架——IDL Machine Learning framework。新增程序包管理器(IDL Package Manager,IPM),提供创建、安装、更新和移除IDL程序包的功能。

2019,IDL8.7.2发布,新增WIDGET_BROWSER 函数,支持创建一个 Web 浏览器组件,支持HTML5、JavaScript、视频和 WebGL等。新增 FILLPLOT 函数,支持绘制两条线,并填充两条线间的区域。增加IMSL帮助文档。以及其他库更新。

2020年,IDL8.8发布,改进IDL工作台,可以切换不同主题风格;支持更多的数据格式;更新一些支持库版本。

2021年,IDL8.8.1发布,支持Macintosh M1平台,更新一些支持库版本。

IDL功能概述

IDL是面向矩阵的编程语言,完全支持对数组的直接操作,具有快速分析超大规模数据的能力,速度比传统语言如C、C++等有很大的提升。它包括了高级图像处理能力、交互式二维和三维图形技术、面向对象的编程、图形化智能工具(iTools)、OpenGL硬件图形加速功能、专业数学分析与统计工具、完善的信号分析和图像处理功能、灵活的数据输入输出方式、跨平台的图形用户界面工具包、连接ODBC兼容数据库、支持远程服务器访问数据以及具有多种外部程序连接方式,已成为数据分析和可视化的首选工具。

IDL主要功能

  • 多种标准格式和自定义格式输入和输出
  • 数组矩阵运算函数库
  • 时间与日期处理函数库
  • 错误异常处理机制
  • 支持静态类与属性
  • 支持函数程序设计
  • 文件监视系统
  • 数据远程访问
  • 多线程运算
  • 可视化开发环境IDE
  • 用户界面构建组件库
  • 信号处理与图像处理软件包
  • 地图投影及转换软件包
  • 小波分析工具包
  • OPENGL及仿真库
  • 直接图形法函数库
  • 快速可视化图形函数库
  • 对象图形法函数库
  • 支持JSON文件创建与编辑
  • 交互图形化智能工具iTools
  • C,FORTRAN 等多语言标准接口
  • 支持与Python的无缝互相调用
  • COM兼容的ActiveX 控件和容器
  • COM/JAVA对象导出模块
  • 跨平台大型应用开发
  • 虚拟机VM发布环境
  • 功能丰富的DEMO库
  • 数据库连接与管理功能
  • 数值分析与统计工具包
  • 支持调用ENVI Services Engine服务

IDL可扩充的工具包有:

  • 数学分析与统计扩展工具包IDL Advanced——全面的数学分析与统计工具,集成了 IMSL(国际数学和统计学函数库)中的数百个专业的数学和统计分析函数。
  • 数据库接口扩展工具包(IDL DataMiner)——数据库访问和操纵独立的API,利用它可以完成对数据库的大部分操作。

IDL的优势

    IDL具有以下优势:

(1)科学数据分析及可视化

拥有IDL,用户无需编写传统程序就可以进行快速科学数据分析和可视化。这大大减少了花费在程序编写上的时间,可以将大量的精力放在数据分析上。

(2)项目申请及项目快速实施

项目应用IDL可以直接利用本身提供的丰富的处理函数,从而节省大量时间,IDL编写的程序不受平台限制,可以随意移植和共享。使用传统的语言需要数天或数周的项目,使用IDL可以在数小时内完成。

(3)商业软件开发

IDL是高效的快速程序开发语言,是开发数字图像处理和三维交互式程序的最佳选择。提供了便捷的软件发布与部署方法,支持跨平台的系统发布。

IDL工程化应用

   IDL能够满足从数据访问、分析、可视化到开发、集成、共享一系列的工程化要求:

 

 

  • 访问 —— 灵活的数据输入、输出方式

在科学研究中,将会使用大量不同格式的数据。IDL基本上支持各种数据格式,并提供了大量的数据读写工具,免除数据读写的烦恼,可以将大量的精力放在数据分析上。

  • 分析 —— 强大的数据分析、数据统计、图像处理、信号处理分析能力

IDL集成了完善的数据分析、数据统计、图像处理和信号处理软件包。项目应用IDL可以节省大量时间。使用传统的C或者FORTRAN语言需要数天或数周的项目,使用IDL可以在数小时内完成。

IDL Advanced工具包使IDL具有了全面的数学分析并集成交互式数据分析和可视化工具,集成了 IMSL(国际数学和统计学函数库)中的数百个专业的数学和统计分析程序。每一个函数都经过了严格测试。

  • 可视化 —— 先进的图形技术和OpenGL图形加速技术的二维和三维数据交互可视化能力

从简单的二维绘图、多维绘图、体积可视化、图像显示、动画,到利用OpenGL硬件加速功能进行交互式的三维图形浏览,以及支持多处理器快速进行体数据渲染,使用IDL您可以轻松获得丰富的可视化效果。

  •  开发 —— 强大的多平台支持、跨平台的本地化的用户界面、全新的开发环境、提供了有效的数据管理手段

Ÿ  可以运行在Windows、Macintosh和UNIX等多种操作系统上,从而可以很方便地进行跨平台开发应用程序。

Ÿ  IDL提供一套完整的、跨平台的本地化用户界面,可以很方便地进行跨平台开发,构建符合本地平台风格的用户界面。

Ÿ  IDL工作台提供了Eclipse的强大支持、全中文界面显示、强大的代码管理开发和调试工具。快速构建原型应用程序,IDL的是一种解释语言,可以在个别问题上看到立竿见影的结果,同时IDL的降低了设计、编译、测试的周期。

Ÿ  IDL DataMiner是一个开放数据库连接( ODBC )接口,借助它IDL用户可快速访问、查询并管理ODBC兼容数据库,支持Oracle、Informix、Sybase、MS SQL Server等大型商用数据库。

  • 集成 —— 灵活的外部语言接口

IDL是一个灵活的、可扩展的用于可视化、分析和开发的工具,能够轻松的与其他的软件工具集成。IDL能够将其他编程语言的代码和函数导入,也可以将IDL实现的功能集成到其他语言编写的应用程序中去。

  •  共享 —— 灵活多样的程序发布方式和轻松的成果共享

Ÿ  你能够很容易快捷的共享IDL应用程序。IDL虚拟机(Virtual Machine),为IDL用户和软件开发人员提供了IDL应用程序发布的便捷工具。DL VM适用于所有IDL支持的平台,可以将IDL程序进行跨平台的发布。

Ÿ  同时针对大型的商业应用程序,IDL Runtime是一种高性价比的IDL软件发布方法,它不仅可以发布IDL程序,而且可以发布其他语言与IDL混编的软件。

标签:数据分析,简介,发布,支持,跨平台,IDL,可视化
来源: https://www.cnblogs.com/enviidl/p/16261192.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有