How about something like this: # numpy 1.6 def rowhist(A, bins=100): assert (bins > 0) assert isinstance(bins, int) rownum = np.arange(A.shape[0]).reshape((-1, 1)).astype(int) * bins intA = (bins * (A - A.min()) / float(A.max() - A.min())).astype(int) intA[intA == bins] = bins - 1 return np.bincount((intA + rownum).flatten(), minlength=(A.shape[0]).reshape((A.shape[0], bins))
# numpy 1.5 def rowhist(A, bins=100): assert (bins > 0) assert isinstance(bins, int) rownum = np.arange(A.shape[0]).reshape((-1, 1)).astype(int) * bins intA = (bins * (A - A.min()) / float(A.max() - A.min())).astype(int) intA[intA == bins] = bins - 1 counts = np.zeros(A.shape[0] * bins) bc = np.bincount((intA + rownum).flatten()) counts[:len(bc)] = bc return counts.reshape((A.shape[0], bins)) On Wed, Mar 30, 2011 at 09:04, Éric Depagne <e...@depagne.org> wrote: > Hi. > > Sorry for not having been clearer. I'll explain a little bit. > > I have 4k x 4k images that I want to analyse. I turn them into numpy arrays so > I have 4k x 4k np.array. > > My analysis starts with determining the bias level. To do that, I compute for > each line, and then for each row, an histogram. > So I compute 8000 histograms. > > Here is the code I've used sofar: > > for i in range(self.data.shape[0]): > #Compute an histogram along the columns > # Gets counts and bounds > self.countsC[i], self.boundsC[i] = np.histogram(data[i], > bins=self.bins) > for i in range(self.data.shape[1]): > # Do the same, along the rows. > self.countsR[i], self.boundsR[i] = np.histogram(data[:,i], > bins=self.bins) > > And data.shape is (4000,4000). > > If histogram had an axis parameter, I could avoid the loop and I guess it > would be faster. > > Éric. >> So it seems that you give your array directly to histogramdd (asking a >> 4000D histogram!). Surely that's not what you are trying to achieve. Can >> you elaborate more on your objectives? Perhaps some code (slow but >> working) to demonstrate the point. >> >> Regards, >> eat >> > > Un clavier azerty en vaut deux > ---------------------------------------------------------- > Éric Depagne e...@depagne.org > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion