ITT's IDL的Python绑定
项目描述
pyIDL
# 基于Andrew McMurry的python-IDL的IDL的Python绑定
# 需要ITT的IDL和numarray
# 下载pyIDL源tarfile
# 安装
解压并解包gzip的tar存档
$ tar -xvzf pyIDL-0.6.tgz
设置环境变量
(路径将取决于IDL安装和平台)
$ export IDL_VERSION = '6.4'
$ export IDL_INCDIR = '/itt/idl/external/include'
$ export IDL_BINDIR = '/itt/idl/bin/bin.linux.x86'
$ export X11_LIBDIR = '/usr/lib/' (仅限linux)
安装包
$ python setup.py build
$ python setup.py install
(另附Makefile)
# 文档
导入idl类
>>> from pyIDL import idl
实例化idl类
>>> ri = idl()
获取帮助
>>> print ri.doc()
Python-IDL绑定
eval(command)
执行IDL命令
get(name,[array,allowNone])
从IDL获取变量
put(name,value,[array,type,allowNone])
将变量推送到IDL
who([name,local,stdout])
打印/返回IDL/本地变量
help([name])
打印IDL帮助信息(对于变量)
delete(name)
销毁选定的IDL变量
map([name])
获取IDL数据类型映射
prompt()
交互式IDL会话
_print(value)
使用IDL打印命令打印
将Python变量推送到IDL并与IDL脚本语言交互
>>> from numarray import *
>>> x = []
>>> for i in range(21): x.append(i*pi/10)
...
>>> ri.put('x',x)
>>> ri.eval('y = sin(x)')
>>> ri.eval('plot, x,y')
使用交互式提示
>>> ri.prompt()
IDL接口
% At $MAIN$
X DOUBLE = Array[21]
Y DOUBLE = Array[21]
编译过程
$MAIN$
编译函数
IDL> IF x[0] LT 1 $
IDL> THEN print, x
0.0000000 0.31415927 0.62831853 0.94247780 1.2566371
1.5707963 1.8849556 2.1991149 2.5132741 2.8274334
3.1415927 3.4557519 3.7699112 4.0840704 4.3982297
4.7123890 5.0265482 5.3407075 5.6548668 5.9690260
6.2831853
IDL> exit
检查IDL会话中的变量
>>> ri.who().keys()
['Y', 'X']
>>> ri.who('y')
[0.0, 0.3090169943749474, 0.58778525229247314, 0.80901699437494745,
0.95105651629515353, 1.0, 0.95105651629515364, 0.80901699437494745,
0.58778525229247325, 0.30901699437494751, 1.2246063538223773e-16,
-0.3090169943749469, -0.58778525229247303, -0.80901699437494734,
-0.95105651629515353, -1.0, -0.95105651629515364, -0.80901699437494756,
-0.58778525229247336, -0.30901699437494762, -2.4492127076447545e-16]
从IDL将变量返回到Python
>>> sinx = ri.get('y')
使用put、eval和get的快捷方式
>>> ri.z = 0.5
>>> ri('print, z')
0.50000000
>>> ri.z + 1
1.5
从IDL中删除变量
>>> ri.delete('x')
>>> ri.delete('y')
直接从Python使用IDL函数/过程
>>> ri.sin(x)
[0.0, 0.3090169943749474, 0.58778525229247314, 0.80901699437494745,
0.95105651629515353, 1.0, 0.95105651629515364, 0.80901699437494745,
0.58778525229247325, 0.30901699437494751, 1.2246063538223773e-16,
-0.3090169943749469, -0.58778525229247303, -0.80901699437494734,
-0.95105651629515353, -1.0, -0.95105651629515364, -0.80901699437494756,
-0.58778525229247336, -0.30901699437494762, -2.4492127076447545e-16]
# 版本
0.6: 07/18/07
增加了对idl_6.4的支持
修复了直接IDL函数/过程调用中的布尔值支持
0.5: 04/18/07
修复了对python2.5的支持
0.4.1: 12/01/06
修复了对mac os的支持
0.4: 10/06/06
增加了对idl_6.3的支持
改进了对NumPy的支持
移除了对Numeric的依赖
0.3: 06/09/06
改进了对Numeric的支持
增加了_print
扩展示例
0.2: 05/19/06
支持64位平台
put、get、eval的快捷方式
从Python访问IDL函数/过程
增加了示例目录
0.1: 06/21/05
RSI的IDL的Python绑定初始版
交互式IDL提示符
# 基于Andrew McMurry的python-IDL的IDL的Python绑定
# 需要ITT的IDL和numarray
# 下载pyIDL源tarfile
# 安装
解压并解包gzip的tar存档
$ tar -xvzf pyIDL-0.6.tgz
设置环境变量
(路径将取决于IDL安装和平台)
$ export IDL_VERSION = '6.4'
$ export IDL_INCDIR = '/itt/idl/external/include'
$ export IDL_BINDIR = '/itt/idl/bin/bin.linux.x86'
$ export X11_LIBDIR = '/usr/lib/' (仅限linux)
安装包
$ python setup.py build
$ python setup.py install
(另附Makefile)
# 文档
导入idl类
>>> from pyIDL import idl
实例化idl类
>>> ri = idl()
获取帮助
>>> print ri.doc()
Python-IDL绑定
eval(command)
执行IDL命令
get(name,[array,allowNone])
从IDL获取变量
put(name,value,[array,type,allowNone])
将变量推送到IDL
who([name,local,stdout])
打印/返回IDL/本地变量
help([name])
打印IDL帮助信息(对于变量)
delete(name)
销毁选定的IDL变量
map([name])
获取IDL数据类型映射
prompt()
交互式IDL会话
_print(value)
使用IDL打印命令打印
将Python变量推送到IDL并与IDL脚本语言交互
>>> from numarray import *
>>> x = []
>>> for i in range(21): x.append(i*pi/10)
...
>>> ri.put('x',x)
>>> ri.eval('y = sin(x)')
>>> ri.eval('plot, x,y')
使用交互式提示
>>> ri.prompt()
IDL接口
% At $MAIN$
X DOUBLE = Array[21]
Y DOUBLE = Array[21]
编译过程
$MAIN$
编译函数
IDL> IF x[0] LT 1 $
IDL> THEN print, x
0.0000000 0.31415927 0.62831853 0.94247780 1.2566371
1.5707963 1.8849556 2.1991149 2.5132741 2.8274334
3.1415927 3.4557519 3.7699112 4.0840704 4.3982297
4.7123890 5.0265482 5.3407075 5.6548668 5.9690260
6.2831853
IDL> exit
检查IDL会话中的变量
>>> ri.who().keys()
['Y', 'X']
>>> ri.who('y')
[0.0, 0.3090169943749474, 0.58778525229247314, 0.80901699437494745,
0.95105651629515353, 1.0, 0.95105651629515364, 0.80901699437494745,
0.58778525229247325, 0.30901699437494751, 1.2246063538223773e-16,
-0.3090169943749469, -0.58778525229247303, -0.80901699437494734,
-0.95105651629515353, -1.0, -0.95105651629515364, -0.80901699437494756,
-0.58778525229247336, -0.30901699437494762, -2.4492127076447545e-16]
从IDL将变量返回到Python
>>> sinx = ri.get('y')
使用put、eval和get的快捷方式
>>> ri.z = 0.5
>>> ri('print, z')
0.50000000
>>> ri.z + 1
1.5
从IDL中删除变量
>>> ri.delete('x')
>>> ri.delete('y')
直接从Python使用IDL函数/过程
>>> ri.sin(x)
[0.0, 0.3090169943749474, 0.58778525229247314, 0.80901699437494745,
0.95105651629515353, 1.0, 0.95105651629515364, 0.80901699437494745,
0.58778525229247325, 0.30901699437494751, 1.2246063538223773e-16,
-0.3090169943749469, -0.58778525229247303, -0.80901699437494734,
-0.95105651629515353, -1.0, -0.95105651629515364, -0.80901699437494756,
-0.58778525229247336, -0.30901699437494762, -2.4492127076447545e-16]
# 版本
0.6: 07/18/07
增加了对idl_6.4的支持
修复了直接IDL函数/过程调用中的布尔值支持
0.5: 04/18/07
修复了对python2.5的支持
0.4.1: 12/01/06
修复了对mac os的支持
0.4: 10/06/06
增加了对idl_6.3的支持
改进了对NumPy的支持
移除了对Numeric的依赖
0.3: 06/09/06
改进了对Numeric的支持
增加了_print
扩展示例
0.2: 05/19/06
支持64位平台
put、get、eval的快捷方式
从Python访问IDL函数/过程
增加了示例目录
0.1: 06/21/05
RSI的IDL的Python绑定初始版
交互式IDL提示符
项目详情
关闭
pyIDL-0.6.tgz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 70f953c8910720ced8c961543bdb72c63847c6b10c0888a541dc63e638be9912 |
|
MD5 | f2722d3963761cde1f768a23ad11ce69 |
|
BLAKE2b-256 | 05c487d87d91a439cb5c56503964af1eb905b7cecaaf550a7b17058cb880eaa5 |