灵活的数据输入和输出
IDL是完全面向矩阵的,因此它具有快速分析超大规模数据的能力。IDL可以通过灵活方便的I/O分析任何数据。可以读取和输出任意有格式或者无格式的数据类型,支持通用文本及图形数据,并且支持在NASA、TPT、NOAA等机构中大量使用的HDF、CDF及netCDF等科学数据格式,以及医学扫描设备的DICOM标准格式。IDL还支持字符、字节、16位整型、长整型、浮点、双精度、复数等多种数据类型。从IDL55起还可以支持MrSID压缩数据格式。
快速实现可视化
IDL支持OpenGL软件或硬件加速,可加速交互式的2D及3D数据分析、图像处理及可视化,除了保留传统的直接图形法外,IDL还采用了先进的面向对象技术;可以实现曲面的旋转和飞行; 用多光源进行阴影或照明处理;可观察实体(Volume)内部复杂的细节;一旦创建对象后,可从各个不同的视角对对象进行可视分析,而不用费时地反复重画。
IDL具有强大的数据分析能力,从IDL55起支持多进程运算,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小得多。
fid是IDL默认的变量名,你的循环中每 ENVI_OPEN_file一次,fid即更新为新打开的文件的对应标识值,你得打开文件后另外自定义变量数组fids并赋值,如fids[ii]=fid。这样就能实现你标注里的要求了。
一般打开文件后要养成释放fid的好习惯,或者对每个文件定义不同的变量来记录fid。
定义三维数组存储影像数据,保存成envi标准格式。代码网上博客里多的是。
第一个问题,因为1二进制为(01),2的二进制位(10),两者or运算后为(11),即为3;or 作用于float时,如果均为00,那么输出00;如果有其一不为00,那么输出第一个非00的原始值(后面结论仅通过实验获取)
为了实现与其他语言的集成开发,IDL拥有以下几个技术:
1) 调用外部程序
IDL调用其他语言功能的最简单的方法就是调用外部程序,即使用SPAWN方式。SPAWN产生一个子进程来执行一个命令或一系列的命令,调用时可以根据需要添加一系列关键字。
2)调用COM组件
IDL可以调用微软的组件对象模型(COM)和ActiveX控件,通过这种方式可对IDL进行功能扩展。具体实现是通过IDLcomIDispatch类实现com组件的调用,通过IDLcomActiveX类实现ActiveX控件的调用。
3) 调用Java类对象
通过IDL-Java bridge方法可以直接访问Java对象。
4)CALL_EXTERNAL方法
CALL_EXTERNAL方法是调用其他语言创建的动态库,需要先创建动态库,在IDL中创建与VC函数中定义的数据结构相匹配的数据结构;利用过程MAKE_DLL编译VC的函数和程序,生成在IDL中可以使用的动态连接库DLL;最后利用函数CALL_EXTERNAL通过动态连接库调用VC的函数。
5) DLM方式
DLM是IDL的功能扩展,DLM是通过C、C++等编译器建立的一个动态库(DLL)和一个DLM的ASCII文件。IDL启动时可自动加载并记录该ASCII文件中进行函数或类的调用定义方式,这种方式的调用跟调用IDL自身的功能函数一样。该方式比普通的DLL动态库调用更灵活方便,可以与IDL进行无缝集成。
6) Callable技术
ENVI/IDL函数可以作为动态链接库被外部程序调用启动,称之为Callable IDL技术。使用Callable IDL技术,外部程序可以像在IDL环境中一样执行IDL的代码。
7)IDLDrawWidget和COM_IDL_Bridge技术
这两个方式都是基于COM组件的,使用跟Callable技术类似,其中IDLDrawWidget可以在其他语言框架下创建IDL的显示Draw组件,使得该技术非常适合用于在框架下进行ENVI/IDL 的可视化展示;而COM_IDL_Bridge则是非常完善的提供了ENVI/IDL 现有功能调用的支持。
另外,网上也有好多的方法
>
以上就是关于IDL的主要特点全部的内容,包括:IDL的主要特点、下面是一个简单的IDL编写对图像进行辐射定标的程序,有个小问题、idl程序问题,图中为什么2和1or运算后为3,而变为float以后1.0 or 2.0就为1.0等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)