
Untitled
By: a guest on
Aug 30th, 2012 | syntax:
None | size: 0.83 KB | hits: 11 | expires: Never
import numpy as np
n = 4
data = np.reshape(range(4*4),(n,n))
data = data[:,:,np.newaxis]
print data[:,:,0],data.shape
seq = [0,1,2,3]
"""seq
0 : up/down
1 : down/up
2 : left/right
3 : right/left
"""
def fold(data,seq):
if len(seq) == 0:
print 'last=',data[0,0,:]
return data
if seq[0]==0:
n2 = data.shape[0]/2
dfold = np.dstack((data[n2-1::-1,:],data[n2:,:]))
fold(dfold,seq[1:])
if seq[0]==1:
n2 = data.shape[0]/2
dfold = np.dstack((data[:n2-1:-1,:],data[:n2,:]))
fold(dfold,seq[1:])
if seq[0]==2:
n2 = data.shape[1]/2
dfold = np.dstack((data[:,n2-1::-1],data[:,n2:]))
fold(dfold,seq[1:])
if seq[0]==3:
n2 = data.shape[1]/2
dfold = np.dstack((data[:,:n2-1:-1],data[:,:n2]))
fold(dfold,seq[1:])
fold(data,seq)