code: def log_gaussian(x, y, x_sigma, y_sigma, mu):
      
      if x_sigma==0.0 or y_sigma==0.0:
          return x * 0.0
  
      with float_error_ignore():
          x_w = np.divide(np.log(x)-mu, x_sigma*x_sigma)
          y_h = np.divide(np.log(y)-mu, y_sigma*y_sigma)
  
          return np.exp(-0.5*x_w*x_w + -0.5*y_h*y_h)
docs: Two-dimensional oriented Log Gaussian pattern (i.e., 2D version of a
      bell curve with an independent, movable peak). Much like a normal
      distribution, but not necessarily placing the peak above the center,
      and not necessarily summing to 1.0).