window
,step
和axis
参数的广义函数,然后返回
as_strided
视图以超过任意维度。 我会在下面给出答案,但是如果有人可以做出更有效的方法,我很感兴趣,因为我不确定使用
np.squeeze()
是最好的方法,我不确定我的
assert
语句是否会使功能安全足以写入最终的视图,我不确定如何处理不在上升顺序的边缘情况。
勤奋
我能找到的最广泛的功能是@eickenberg(以及显然是等效的)撰写的,但这些功能在网上的记录不佳,并且无法在更少的窗口上进行窗口轴比原始数组中的轴(例如,这个问题要求仅在一个轴上有一定尺寸的窗口)。 通常,问题也需要一个只能答案。
@@divakar为1-D输入创建了一个广义的
axis
功能Herey,但是高维输入需要更多的护理。 我在3D输入方法上制作了一个裸露的骨头2D窗口,但这不是很可扩展。
Edit2020年1月:更改了从列表到发电机的估计返回以保存内存。Edit2020年10月:将发电机放在单独的功能中,因为混合发电机和
sklearn.feature_extraction.image.extract_patches
语句无效。 我到目前为止的食谱是:
skimage.util.view_as_windows
一些测试用例:numpy
在这里我尝试柔韧的瓷砖:
numpy
,例如,它可用于实现nd max-pooling:
使用维度必须是连续的。