[Numpy-discussion] 2D Hamming window

Gary Ruben gruben@bigpond.net...
Sat Jul 26 19:48:33 CDT 2008

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,
> Henrik

Hi Henrik,

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[0]
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.

More information about the Numpy-discussion mailing list