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.

Ответы на вопрос(2)

Ваш ответ на вопрос