def METHOD_NAME(win_size, orientation=0, wavelength=5, aspect=0.5, offset=0, ntype="real"):
    # Get window size +/- around origin
    xy = win_size // 2
    # Check to make sure wave length is not greater than half the window size
    if wavelength >= xy:
        grass.fatal(_("A wavelength smaller than w / 2 is needed"))
    # Convert degrees to radians
    orientation = deg_to_radians(orientation)
    stddev = xy // wavelength
    max = xy
    min = -xy
    (y, x) = np.meshgrid(np.arange(min, max + 1), np.arange(min, max + 1))
    xr = x * np.cos(orientation) + y * np.sin(orientation)
    yr = -x * np.sin(orientation) + y * np.cos(orientation)
    gaussian = np.exp(-((xr**2 + aspect**2 * yr**2) / (2 * stddev**2)))
    if ntype == "imag":
        sf = np.sin(2 * np.pi * xr / wavelength + offset)
    else:
        sf = np.cos(2 * np.pi * xr / wavelength + offset)
    return gaussian * sf