numpy: сборка нескольких слайсов в новый массив
У меня есть 2-мерный массив, из которого мне нужно извлечь разделы (срезы) в новый массив:
original= numpy.ndarray( shape=(4,4) )
slices= numpy.ndarray( shape=(0,2) )
for x in range(3):
slice= original[x:x+2,x:x+2]
slices=numpy.append(slices, slice,axis=0)
Есть ли более эффективный способ сделать это (избавиться от питона для цикла)?
----РЕДАКТИРОВАТЬ----
Чтобы уточнить, яя спрашиваю, как копировать произвольные (но аналогично) 2D-срезы произвольной формы из произвольных 2D-индексов 2D-массива в другой, вертикально уложенный - не особенно по диагонали или размером 2x2.