<div dir="ltr">Hi there,<div><br></div><div>Is there a faster way to perform a 2D Histogram from a 2D matrix than what I have below:</div><div><br></div><div><div>def spatial_histogram(frame, n_bins):</div><div><span class="" style="white-space:pre">    </span>shape = frame.shape</div>

<div><br></div><div><span class="" style="white-space:pre">   </span>h_len = shape[0]/n_bins</div><div><span class="" style="white-space:pre">    </span>w_len = shape[1]/n_bins</div><div><br></div><div><span class="" style="white-space:pre">   </span>h_ind = range(0, shape[0], h_len)</div>

<div><span class="" style="white-space:pre">    </span>w_ind = range(0, shape[1], w_len)</div><div><br></div><div><span class="" style="white-space:pre"> </span>max_val = 255*h_len*w_len</div><div><br></div><div><span class="" style="white-space:pre"> </span>out = np.empty((n_bins, n_bins), np.uint8)</div>

<div><br></div><div><span class="" style="white-space:pre">   </span>for ii in range(n_bins):</div><div><span class="" style="white-space:pre">           </span>for jj in range(n_bins):</div><div><span class="" style="white-space:pre">                   </span>out[ii, jj] = np.sum(frame[h_ind[ii]:h_ind[ii]+h_len, w_ind[jj]:w_ind[jj]+w_len])/max_val*255</div>

<div><br></div><div><span class="" style="white-space:pre">   </span>return out</div></div><div><br></div><div>Should I try implementing this in Cython, or is there something I can do in Numpy?</div><div><br></div><div>Thanks!</div>

</div>