I have a pull request for a neighborhood function at 
<a href="https://github.com/numpy/numpy/pull/303">https://github.com/numpy/numpy/pull/303</a> .   I think IMHO it handles these problems quite handily.  It does rely on my pad routine that is in Numpy 1.7, so you would need to get the 1.7 beta installed or install the development branch.<div>
<br></div><div>For your example you would just create a weight array, and a function that returns a scalar value from the collected neighborhood values.</div><div><br></div><div>Untested, but workflow is something like:</div>
<div><br></div><div>&gt;&gt;&gt; inputarr = np.random.random(9*9*9)</div><div>&gt;&gt;&gt; inputarr = inputarr.reshape((9,9,9))</div><div>&gt;&gt;&gt; weight = np.ones((3,3,3))</div><div>&gt;&gt;&gt; ans = neighbor(inputarr, weight, np.mean, pad = None)</div>
<div><br></div><div>In place of &#39;np.mean&#39; you can define your own function - game of life function for example.</div><div><br></div><div>The PR has not had much activity, so if you can review/comment/program that would be appreciated.<br>
<br></div><div>Kindest regards,</div><div>Tim</div>