Henrik Ronellenfitsch wrote:
Hello! I'm looking for a 2D hamming window function. As far as I can see, numpy only supports 1D windows and googling didn't show a simple way of extending it in two dimensions.
Thanks for your help,
I haven't looked at the "correct" way to do this, but I recently wanted to do the same thing and ended up with the following solution. This may well be mathematically incorrect, but in my application it wasn't important:
import numpy as np import scipy.signal as ss
# read heightmap here - in my case it's a square numpy float array
# build 2d window hm_len = heightmap.shape bw2d = np.outer(ss.hamming(hm_len), np.ones(hm_len)) bw2d = np.sqrt(bw2d * bw2d.T) # I don't know whether the sqrt is correct
# window the heightmap heightmap *= bw2d
-- Gary R.