On 06.02.2012 22:27, Sturla Molden wrote: > > >> >> # Make a 4D view of this data, such that b[i,j] >> # is a 2D block with shape (4,4) (e.g. b[0,0] is >> # the same as a[:4, :4]). >> b = as_strided(a, shape=(a.shape[0]/4, a.shape[1]/4, 4, 4), >> strides=(4*a.strides[0], 4*a.strides[1], a.strides[0], >> a.strides[1])) >> > > Yes :-) Being used to Fortran (and also MATLAB) this is the kind of mapping > It never occurs for me to think about. What else but NumPy is flexible enough > to do this? :-)
Actually, using as_strided is not needed. We can just reshape like this: (m,n) ---> (m//4, 4, n//4, 4) and then use np.any along the two length-4 dimensions. m,n = data.shape cond = lamda x : (x <= t1) & (x >= t2) x = cond(data).reshape((m//4, 4, n//4, 4)) found = np.any(np.any(x, axis=1), axis=2) Sturla _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion