They're coming thick and fast now.
Here's a Python function to accompany the previous post. It's not maximally efficient, but should make sense...
from scipy import stats
def gaussian_pixel(minxy, maxxy, sigma, meanxy=(0.,0.), norm=None):
"""Return the value of a pixel sampling a 2D Gaussian,
normalized such that the area under the Gaussian is 1
(default) or such that the peak is given by norm."""
x1, y1 = minxy
x2, y2 = maxxy
x0, y0 = meanxy
if norm is None:
norm = 1. / 2 / math.pi / sigma ** 2
return norm * 2 * math.pi * sigma ** 2 / (x2 - x1) / (y2 - y1) * (
(1 - stats.erfc((x2 - x0) / math.sqrt(2) / sigma)) / 2.
- (1 - stats.erfc((x1 - x0) / math.sqrt(2) / sigma)) / 2.) * (
(1 - stats.erfc((y2 - y0) / math.sqrt(2) / sigma)) / 2.
- (1 - stats.erfc((y1 - y0) / math.sqrt(2) / sigma)) / 2.)