为scipy/numpy提供类似idl的接口,以便将idl代码快速移植到python。
idlwrap的Python项目详细描述
空转
idlwrap是一个python包,它提供了harris geospatial的idl(交互式数据语言)中已知的许多函数,所有这些函数都是用scipy
/numpy
实现的。
No IDL is required to run idlwrap, as it is pure python!
有了numpy
和scipy
,python中的科学计算就有了强大的开源工具。目前,仍然有许多科学项目——特别是天体物理学项目——依赖于专利和昂贵的IDL,而不是转向开放和可复制的科学。选择python而不是idl有很多原因,但是转换并不是那么容易。至少直到现在!
这个包旨在抽象出idl和python中的所有差异,并提供从idl中了解到的接口和函数,但是在hood下使用scipy
和numpy
。
安装
使用pip:
安装idlwrappip install idlwrap
用法
idl和python之间的主要区别之一是如何处理数组和索引。让我们创建一个数组:
IDL> a =INDGEN(3, 4) IDL> a 01234567891011
这在idlwrap中很简单:
>>>a=idlwrap.indgen(3,4)>>>aarray([[0,1,2],[3,4,5],[6,7,8],[9,10,11]])
在idl中,数组索引是inclusive:
IDL> a[1:2, 1:2] 4578
当它们在python中是exclusive时:
>>>a[1:2,1:2]array([[4]])
idlwrap也有帮助,方法是将idl子集作为函数提供:
>>>idlwrap.subset_(a,"[1:2, 1:2]")array([[4,5],[7,8]])
idlwrap提供了更多的函数。请确保您检查了documentation,它包含了许多关于如何使用^ {EM1}$IDLCORLD