After much deliberation, I found a passable solution:
distances = np.abs(np.arange(0,resolution,1)+0.5-(resolution/2.0))
x_gradient = np.tile(distances,(resolution,1))
y_gradient = np.copy(x_gradient)
y_gradient = np.swapaxes(y_gradient,0,1)
distances_to_center = np.hypot(x_gradient,y_gradient)
angles = np.radians( (distances_to_center/((resolution/2.0)-0.5)) * 90.0 )
lambert_weights = np.cos(angles)
This seems like it could be improved.
PS, I meant "Sinusoidal" in the title. I carried that over into my description, which should have been "cosine", instead of "sine".