idl的rebin函数的python/numpy实现。

rebin的Python项目详细描述


idl的rebin函数的python/numpy实现。

http://www.harrisgeospatial.com/docs/rebin.html

此模块中定义的rebin函数首先将 指定大小的平铺中的输入数组。然后,一个约化函数 应用于每个平铺,由单个值替换。这个 返回结果数组:其维数是 输入数组。

Rebin是根据BSD 3条款许可证发布的。

基本原理

输入数组a被假定为spired。换句话说,如果

a.strides = (s0, s1, ...),

然后

a[i0, i1, ...] = a[[s0*i0 + s1*i1 + ...]],

其中[[...]]表示偏移运算符。计算输出 数组,我们首先创建a的平铺版本。数量 对于a中的每个索引,tiled的维数是a的两倍, tiled有一个slow索引和一个fast索引

tiled[i0, i1, ..., j0, j1, ...] = a[f0*i0 + j0, f1*i1 + j1, ...],

其中factor=(f0, f1, ...)是装箱因子( 瓷砖)。在使用a

tiled[i0, i1, ..., j0, j1, ...] = a[[s0*f0*i0 + s1*f1*i1 + ... +
                                     s0*j0 + s1*j1 + ...]],

这表明tiled的步伐是

tiled.strides = (s0*f0, s1*f1, ..., s0, s1, ...).

换句话说,tileda视图 大步前进。使用^{tt14}可以重新限制数组$ 来自numpy.lib.stride_tricks的函数。然后,输出数组是 容易计算如下

out = func(tiled, axis = tuple(range(-a.ndim, 0)))

对快速指数进行缩减。

边界情况

当输入数组的维数不是 瓷砖的尺寸、重新绑定的行/列很简单 丢弃的。例如

+--------+--------+--------+--------+----+
|  1   1 |  2   2 |  3   3 |  4   4 |  5 |
|  1   1 |  2   2 |  3   3 |  4   4 |  5 |
+--------+--------+--------+--------+----+
|  6   6 |  7   7 |  8   8 |  9   9 | 10 |
|  6   6 |  7   7 |  8   8 |  9   9 | 10 |
+--------+--------+--------+--------+----+
| 11  11 | 12  12 | 13  13 | 14  14 | 15 |
+--------+--------+--------+--------+----+

将产生

+----+----+----+----+
|  4 |  8 | 12 | 16 |
+----+----+----+----+
| 24 | 28 | 32 | 36 |
+----+----+----+----+

对于(2,2)个平铺和sum缩减。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java访问私有字段而不使用getter方法?   使用PowerMockito在JavaEWSAPI中模拟测试拉订阅   启动活动时未保存java首选项并清除变量   java如何在servlet中检索子域?斯普林有帮手吗   java使用Docker从命令行构建Android项目   java Android,ActionBar后退按钮(setDisplayHomeAsUpEnabled(true))重新创建父活动   java在重用FileOutputStream时应该关闭流吗?   java使用RESTAPI将文件上载到s3 bucket   Java SOAP Web服务应用程序中的mysql用户登录方法不工作   java使用多个数字计算百分比并转换为长   java Android SQLiteDatabase查询忽略空格   java如何在Javafx中比较两个字段文本   java错误:未设置java_HOME,在Eclipse安装后找不到   java在安卓中保存对象   java如何使用jaxws从返回List<Object>的服务中检索值   java Google OAuth2 JWT令牌验证异常   SpringMVC中的JavaUTF8编码问题,当从JSP表单发送POST请求中的越南语信件时   java从webview重定向到安卓应用程序   JUnit 5中多个扩展的java顺序